【问题标题】:Multiple File Upload on PHP for IISIIS 的 PHP 上的多个文件上传
【发布时间】:2017-05-04 22:04:06
【问题描述】:

我的 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>

文件上传.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);
    }
}
?>

【问题讨论】:

    标签: php iis


    【解决方案1】:

    删除“D:/”! 您正在尝试将文件移动到本地路径(“D:/charity/”)。据我所知,Move_uploaded_file 仅适用于服务器端。这意味着目标文件夹必须在服务器上。您的文件夹路径将取决于您的“fileupload.php”文件所在的位置。

    如果您在计算机上使用本地服务器,没关系,您仍然无法使用本地路径。如果您在文件“fileupload.php”所在的同一文件夹中创建了一个子文件夹(例如“charity”),那么您的上传路径将为“charity/”.$file_name。

    :P /麦克德

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      相关资源
      最近更新 更多