Giter VIP home page Giter VIP logo

multiple-file-upload-with-php's Introduction

Multiple File Upload with PHP

When the HTML form is submitted, the server-side PHP code can validate and upload the file.

This is a simple HTML form, there won't be any styles, since we'r focusing on the PHP upload.

HTML

<h2>Upload Files:</h2>
<!-- IMPORTANT:  FORM's enctype must be "multipart/form-data" -->
<form method="post" action="upload.php" enctype="multipart/form-data">
  <input type="file" name="files" id="files" multiple="" onChange="makeFileList();" />
</form>	

<p>
  <strong>Files You Selected:</strong>
</p>

<ul id="fileList">
  <li>No Files Selected</li>
</ul>

Simply adding the multiple attribute allows for multiple files to be uploaded via one INPUT element.

Listing All Files

function makeFileList() {
  var input = document.getElementById("files");
  var ul = document.getElementById("fileList");
  while (ul.hasChildNodes()) {
    ul.removeChild(ul.firstChild);
  }
  for (var i = 0; i < input.files.length; i++) {
    var li = document.createElement("li");
    li.innerHTML = input.files[i].name;
    ul.appendChild(li);
  }
  if(!ul.hasChildNodes()) {
    var li = document.createElement("li");
    li.innerHTML = 'No Files Selected';
    ul.appendChild(li);
  }
}

Moving to the server

<?php
session_start();
//sort code for uploading or moving file to server
if (isset($_POST["submit"]))
{
  if(count($_FILES['file']['name'])) 
  {        
  $target="uploads/";               
  $count=0;

    foreach ($_FILES['file']['name'] as $filename) 
    {
      $temp=$target;
      $tmp=$_FILES['file']['tmp_name'][$count];
      $count=$count + 1;
      $temp=$temp.basename($filename);
      move_uploaded_file($tmp,$temp);
      $temp='';
      $tmp='';
    }
  }
}
?>

Todo -- add more functionalities

multiple-file-upload-with-php's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.