Go4Expert

Go4Expert (http://www.go4expert.com/)
-   PHP (http://www.go4expert.com/articles/php-tutorials/)
-   -   Creating a Multi-File Upload Script in PHP (http://www.go4expert.com/articles/creating-multi-file-upload-script-php-t3083/)

Sanskruti 20Feb2007 19:49

Creating a Multi-File Upload Script in PHP
 
File upload is very common requirement of many web sites. We may require to upload pictures online to websites. Image upload is very common requirement and many sites are using this to allow members or visitors to upload files.

We will learn how to upload multiple files using a single form. This is required if you are allowing members to upload more than one file and you don't know how many files you allow them to upload. Say you want up to 8 files any member of your site can upload. As your members upload and delete files so at the time of displaying the form to allow them to upload you would like to check the existing number of files they have and accordingly display them upload fields to add files.

Multiple files can be uploaded using different name for input.

It is also possible to upload multiple files simultaneously and have the information organized automatically in arrays for you. To do so, you need to use the same array submission syntax in the HTML form as you do with multiple selects and checkboxes:

Support for multiple file uploads was added in PHP 3.0.10.
Code: HTML

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Send files" />
</form>

When the above form is submitted, the arrays $_FILES['userfile'], $_FILES['userfile']['name'], and $_FILES['userfile']['size'] will be initialized.. When register_global is on, globals for uploaded files are also initialized. Each of these will be a numerically indexed array of the appropriate values for the submitted files.

register_globals tells whether or not to register the EGPCS (Environment, GET, POST, Cookie, Server) variables as global variables.

Let us see one more example.
Code: PHP

$max_no_img=5; // Maximum number of images value to be set here

echo "<form method=post action=addimgck.php enctype='multipart/form-data'>";
echo "<table border='0' width='400' cellspacing='0' cellpadding='0' align=center>";
for($i=1; $i<=$max_no_img; $i++){
    echo "<tr><td>Images $i</td><td>
    <input type=file name='image[]' class='bginput'></td></tr>"
;
}
echo "<tr><td colspan=2 align=center><input type=submit value='Add Image'></td></tr>";
echo "</form> </table>";

This part will display the form and the number of upload boxes as per set by the variable. Now we will move to next part explaining how to handle the uploaded file and how to know what are the fields uploaded by the user. We will be using PHP Multidimensional array here. We will receive the field data in the addimg.php file. The file addimg.php will use php multidimensional array and we will use array display techniques to know the input fields for file upload. Please ensure that write permission is given to the directory where files are to be stored. ( Here the directory name is upimage )
Code: PHP

while(list($key,$value) = each($_FILES[image][name]))
{
    if(!empty($value)) // this will check if any blank field is entered
    {   
        $filename = $value// filename stores the value
        $add = "upimage/$filename"// upload directory path is set
        //echo $_FILES[image][type][$key];  // uncomment this line if you want to display the file type
        // echo "<br>"; // Display a line break
        copy($_FILES[image][tmp_name][$key], $add); //  upload the file to the server
        chmod("$add",0777)// set permission to the file.
    }
}

As this script allows more than one file to upload so this script is likely to take more time than normal execution time.

khan27 29Sep2010 13:02

Re: Creating a Multi-File Upload Script in PHP
 
This fucntion is very useful to me. thanks for given such type of soluation.

sneha123 5Mar2011 10:24

Re: Creating a Multi-File Upload Script in PHP
 
Hi friends,,,Excellent post,,,,I think its nice information of Creating a Multi-File Upload Script in PHP.....Thanks for the share valuable solution here, it will be very helpful for all people……….:crazy::crazy:.

Scripting 23Aug2011 01:41

Re: Creating a Multi-File Upload Script in PHP
 
I have to learn much of PHP i think, this helped me and I learnt something new, thx for that!

nilesh@yudiz 8Oct2011 12:39

Re: Creating a Multi-File Upload Script in PHP
 
good

laki1412 20Mar2012 12:53

Re: Creating a Multi-File Upload Script in PHP
 
Thanks.

j.smith1981 23Mar2012 14:22

Re: Creating a Multi-File Upload Script in PHP
 
Can't say anything more than a great post indeed!

j.smith1981 23Mar2012 14:23

Re: Creating a Multi-File Upload Script in PHP
 
Just wanted to say about this post here:
Quote:

Originally Posted by Scripting (Post 86286)
I have to learn much of PHP i think, this helped me and I learnt something new, thx for that!

I felt exactly like you did some time ago but keep sticking at coding it'll make sense soon trust me!

steven_elvisda 26Jun2012 18:29

Re: Creating a Multi-File Upload Script in PHP
 
It is really awesome. current I limited 5 images and need to 5 clicks to completed.


All times are GMT +5.5. The time now is 09:35.