我有一个人们可以上传图片文件的网站。现在我想允许用户上传多个图像文件。我觉得让我的函数接受数组有点令人困惑。这就是我所拥有的:
它的UI部分:
<input type="file" id="imagefile" name="imagefile[]" multiple>
处理程序函数,用于记录到txt文件:
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++;
}
真正上传文件的部分:
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;
}
我该如何正确地做到这一点?
答案 0 :(得分:0)
如果您必须在单个请求中上传所有文件,则可以查看此答案here
但为了创造更好的用户体验,最好使用ajax逐个上传文件,看看"jQuery File Upload Demo"(你可以在php中找到服务器端代码)