2017-04-25 4 views
0

IISサーバーにPHP 7がインストールされています。私の目標は、複数のファイルをサーバーにアップロードすることです。IIS用PHPでの複数ファイルアップロード

私が提出するたびに、ファイルがアップロードされていないことを示す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

":/ D" を削除! ファイルをローカルパス( "D:/ charity /")に移動しようとしています。 Move_uploaded_fileは私が知る限りサーバー側でのみ動作します。つまり、宛先フォルダはサーバー上にある必要があります。フォルダへのパスは、 "fileupload.php"ファイルがある場所によって異なります。

コンピュータ上でローカルサーバーを使用している場合でも問題はありませんが、ローカルパスは使用できません。ファイル「fileupload.php」と同じフォルダにあるサブフォルダ(「チャリティー」など)を作成した場合、アップロードパスは「charity /".$ file_name」になります。

:P /MacD

関連する問題