文件上传循环未指定的错误
我正在使用表单和循环将多个图像文件直接上传到文件服务器,但是我得到了move_uploaded_file函数的错误结果。
上传表格:
<body>
<p>
<form action='uploadform.php' method='post' enctype='multipart/form-data'>
Select the files you would like to upload.
<input type='file' name='fileToUpload[]' id='fileToUpload' mozdirectory webkitdirectory directory multiple />
<input type='submit' value='Upload Image' name='submit'>
</form><br>
The files will be uploaded to a folder named '".$_SESSION['filename']."'.<br>
</p>
</body>
多文件上传循环(uploadform.php:
if (isset($_POST["submit"])){
foreach ($_FILES['fileToUpload']['name'] as $i => $name) {
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"][$i]);
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if (strlen($_FILES['fileToUpload']['name'][$i]) > 1) {
if (move_uploaded_file($_FILES["fileToUpload"]["name"][$i], $target_file)) {
echo "The file'". basename($_FILES["fileToUpload"]["name"][$i]). "' has been uploaded to the server.";
} else {
echo "<br>*** ERROR ***<br>";
echo "Current File basename: ".basename($_FILES["fileToUpload"]["name"][$i])."<br>";
echo "Current File non-basename: ".$_FILES["fileToUpload"]["name"][$i]."<br>";
echo "Current File Path: ".$target_file."<br>";
echo "Image file type: ".$imageFileType."<br>";
}
$count++;
}
}
}
当使用表单上传一个或多个文件时,它会转到else语句,回显“ERROR”字符串。 Apache错误日志出现空白,所以我不知道代码有什么问题。
我尝试回显循环中使用的变量($ _FILES [“fileToUpload”] [“name”] [$ i],$ target_file和$ imageFileType),但这些似乎没有问题。
我会把整个foreach循环放在try-catch块中,看看发生了什么异常:
try{
// your foreach loop here:
}
catch(Exception $e)
{
echo $e->getMessage();
}
$_FILES["fileToUpload"]["name"][$i]
变量不是循环应该使用的变量。
通过将$_FILES["fileToUpload"]["name"][$i]
所有实例更改为$name
(即$_FILES["fileToUpload"]["tmp_name"][$i]
),错误消失了。
上一篇: Unspecified error with a file upload loop
下一篇: Interpreting GPS info of exif data from photo in python