我的IIS服务器上安装了PHP 7。我的目标是将多个文件上传到服务器。 (提交是通过javascript完成的)
每次提交时,我都会收到0的回音,说明没有上传文件。我究竟做错了什么? PHP有什么问题,还是IIS的东西?
HTML表单:
<form action="/fileupload.php" id="form" style="display: none;" method="post"><input type="file" id="fileToUpload[]" name="file" multiple></form>
fileupload.php:
<?php
$total = count($_FILES['fileToUpload']['name']);
echo $total;
for($i=0; $i<$total; $i++) {
$errors= array();
$file_name = $_FILES['fileToUpload']['name'][$i];
$file_size =$_FILES['fileToUpload']['size'][$i];
$file_tmp =$_FILES['fileToUpload']['tmp_name'][$i];
$file_type=$_FILES['fileToUpload']['type'][$i];
$file_ext=strtolower(end(explode('.',$_FILES['fileToUpload']['name'][$i])));
$expensions= array("pdf","doc","docx","xls","xlsx","ppt","pptx");
if(in_array($file_ext,$expensions)=== false){
$errors[]="Extension not allowed.";
}
if($file_size > 20971520){
$errors[]="File too large.";
}
if(empty($errors)==true){
move_uploaded_file($file_tmp,"D:/charity/".$file_name);
echo "Thanks for sharing.";
}else{
print_r($errors);
}
}
?>
答案 0 :(得分:0)
删除&#34; D:/&#34;! 您正在尝试将文件移动到LOCAL路径(&#34; D:/ charity /&#34;)。据我所知,Move_uploaded_file仅适用于服务器端。这意味着目标文件夹必须位于服务器上。您到该文件夹的路径将取决于您拥有&#34; fileupload.php&#34;文件。
如果您在计算机上使用本地服务器,则无关紧要,您仍然无法使用本地路径。如果您创建了一个子文件夹(例如&#34;慈善机构&#34;),该子文件夹位于您拥有文件&#34; fileupload.php&#34;的同一文件夹中,那么您的上传路径将是&#34;慈善机构/&#34; $ FILE_NAME
:P /霍尔德