2016-09-10 17 views
0

にアップロードされたファイルをコピーまたは移動することはできません私のWindows Server 2012 R2に、ユーザがファイルをアップロードできるwebpageをホストするようにしようとしました。 copyが動作しないのに対し、は私が(質問が最初にサーバー障害に頼まれた。私はここに移動し、私はあそこの恩恵を開始するのに十分な信用を持っていないので。)</p> <p>のWindows Server

問題がある
<!-- indexfile.html --> 
<form action="uploadfile.php" method="post" enctype="multipart/form-data"> 
    Browse for File to Upload: <br> 
    <input type="file" name="file" id="file" size="80"> <br> 
    <input type="submit" id="u_button" name="u_button" value="Upload the file"> 
</form> 


// uploadfile.php 
<?php 
    $file_result = ""; 
    if ($_FILES["file"]["error"] > 0) 
    { 
    $file_result .= "No File Uploaded or Invalid File "; 
    $file_result .= "Error Code: " . $_FILES["file"]["error"] . "<br>"; 
    } else { 
    $file_result .= 
    "Upload: " . $_FILES["file"]["name"] . "<br>" . 
    "Type: " . $_FILES["file"]["type"] . "<br>" . 
    "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br>" . 
    "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>"; 

    if (chmod("C:/inetpub/testaddbbacom/test", 0777)) 
    $file_result .= "chmod sucessful!<br>"; 
    else 
    $file_result .= "chomod NOT sucessful!<br>"; 

    copy($_FILES["file"]["tmp_name"], "C:/inetpub/testaddbbacom/test/" . $_FILES["file"]["tmp_name"]); 

    $file_result .= "File Upload Successful!"; 

    echo $file_result; 
    } 
?> 

、ファイルは、C:\Windows\Temp\にアップロードすることができます。結果として、C:\inetpub\testaddbbacom\testは常に空です。私はchmodでこのフォルダの許可を変更しようとしましたが、実際には動作しません。ここでは2つのフォルダのアクセス権のcomparaisonです:

enter image description here

私もmove_uploaded_fileを試してみましたが、それはおそらく同じ許可の理由に、いずれかの動作しませんでした...

がどのように誰もが知っていますこの問題を解決するために?

答えて

0

、以下で

copy($_FILES["file"]["tmp_name"], "C:/inetpub/testaddbbacom/test/" . $_FILES["file"]["tmp_name"]); 

を交換し、

move_uploaded_file($_FILES["file"]["tmp_name"], "C:/inetpub/testaddbbacom/test/" . $_FILES["file"]["name"]); 

の違いは、「[使用ファイル名すなわち$ _FILES [ "ファイル"] [ "名前"])とではない$ _FILESですfile "] [" tmp_name "])を指定します。

+0

素晴らしいですが、今回はうまくいきます...なぜ以前にはうまくいかなかったのか分かりません。だから 'コピー'の何が問題なの? –

+0

move_uploaded_fileの代わりにコピーを使って私の同じステートメントを試してみてください。私は一度も使ったことがありません:D –

+0

確かに、コピーは今動作しています... '.tmp'は' Temp'フォルダ内でのみ有効です。 ... –

関連する問題

 関連する問題