0

I have a website where people can upload an image file. Now i would like to allow users to upload multiple image files. I find it a bit confusing to make my functions accept arrays. Here is what I have :

The UI part of it:

<input type="file" id="imagefile" name="imagefile[]" multiple>

The handler function and used for logging to a txt file:

if(getPostPutField('imagefilename',$imagefilename))
$count=1;
foreach ($_FILES['imagefilename']['tmp_name'] as $file)
{
$imagefilename = urldecode($imagefilename);
$uploaded = handleUploadedImageFile($KBID, $_FILES['imagefile'], $imagefilename);
if ($uploaded)
{
$changesForEveryone[] .= "Image File Uploaded: " . $imagefilename."<br>";
$extraMsg .= "<br>Image File Uploaded: " . $imagefilename."<br>";
}
$count++;
}

The part where the file is really uploaded:

function handleUploadedImageFile($KBID,$file,$imagefilename=null)
{
$result = '';      
if(empty($imagefilename))
$imagefilename = $file['name'];
if($file['size'] > 0)
{
$dir = PROBLEMIMAGES."/".sprintf("%05d",$KBID)."/";
$result = getUploadedFile($file['tmp_name'],$dir,$imagefilename);
}
else
{
$result = false;
}
return $result;
}

How do i do this properly?

Yesh
  • 51
  • 10

1 Answers1

0

If you have to upload all the files in a single request you can look at this answer here
but in order to create a better user experience it will be better to upload the files one by one using ajax take a look at the "jQuery File Upload Demo" (you can find there also the server side code in php)

Community
  • 1
  • 1
Ariel Henryson
  • 1,316
  • 1
  • 10
  • 13