PHP上的多个文件上传用于IIS

时间:2017-04-25 15:31:26

标签: php iis

我的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);
    }
}
?>

1 个答案:

答案 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 /霍尔德