Jump to content

How to do multiple file upload through an array???


mac007

Recommended Posts

Hello, all:

 

I thought I could convert a basic upload script into a MULTIPLE file upload by simply adding a FOREACH loop to it, but doesnt seem to do it. Not sure if I am setting it up correctly. It looks like it does recognize the array since it does give me the "There was an error uploading the file..." warning three times. Appreciate any help on this!

Here is the html form and php code ( all residing in same page):

 

 

<?

 

 

if (isset($_POST[submit])) {

 

$uploadArray= array();

$uploadArray[] = $_POST['uploadedfile'];

$uploadArray[] = $_POST['uploadedfile2'];

$uploadArray[] = $_POST['uploadedfile3'];

 

foreach($uploadArray as $file) {

 

 

$target_path = "upload/";

 

$target_path = $target_path . basename( $_FILES['$file']['name']);

 

if(move_uploaded_file($_FILES['$file']['tmp_name'], $target_path)) {

echo "The file ". basename( $_FILES['$file']['name']).

" has been uploaded";

} else{

echo "There was an error uploading the file, please try again!";

}

}

 

}

 

?>

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<title>Untitled Document</title>

</head>

 

<body>

 

 

<form enctype="multipart/form-data" action="upload-simple.php" method="POST">

<p>

<input type="hidden" name="MAX_FILE_SIZE" value="100000" />

Choose a file to upload:

<input name="uploadedfile" type="file" />

</p>

<p>Choose a file to upload:

<input name="uploadedfile2" type="file" />

</p>

<p>Choose a file to upload:

<input name="uploadedfile3" type="file" />

<br />

<input name="submit" type="submit" id="submit" value="submit" />

</p>

</form>

 

</body>

</html>

Your existing code is not forming $file in $_FILES['$file']... correctly because the names of the form fields don't exist as $_POST variables. Also, the single-quotes around '$file' will prevent the variable from being parsed.

 

There is an example of how to do multi-file uploads in the php manual - http://www.php.net/manual/en/features.file-upload.multiple.php

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.