6

PHP を使用してファイルをアップロードし、目的の場所に移動しています... move_uploaded_file を使用しているときに、ファイルが正常に移動したと表示されますが、ファイルがディレクトリに表示されません。HTML および PHP コードは以下のとおりです...

 <form action="test_upload.php" method="POST" enctype="multipart/form-data">
<fieldset>
<label for="test_pic">Testing Picture</label>
<input type="file" name="test_pic" size="30" /><br />
</fieldset>

<fieldset>

<input type="submit" value="submit" />

</fieldset>
</form>

PHPは次のよ​​うになります:

    <?php


$image_fieldname = "test_pic";
$upload_dir = "/vidit";
$display_message ='none';

if(move_uploaded_file($_FILES[$image_fieldname]['tmp_name'],$upload_dir) && is_writable($upload_dir)){
    $display_message = "file moved successfully";
    }
    else{
        $display_message = " STILL DID NOT MOVE";
            }



?>

このページを実行して正当なファイルをアップロードすると、test_upload.php が正常にアップロードされたファイルをエコーし​​ます。しかし、Webページのルートにあるフォルダー「vidit」に向かうと。フォルダが空です...

私はワンプサーバーを使用しています。

4

4 に答える 4

4

filename を宛先パスに追加する必要があります。以下のようにしてみてください

$doc_path = realpath(dirname(__FILE__));

if(move_uploaded_file($_FILES[$image_fieldname]['tmp_name'],$doc_path.$upload_dir.'/'.$_FILES[$image_fieldname]['name']) && is_writable($upload_dir)){
    $display_message = "file moved successfully";
}
else{
    $display_message = " STILL DID NOT MOVE";
}

参考までに、PHPマニュアルを参照してください。http://php.net/manual/en/function.move-uploaded-file.php

于 2012-09-30T06:53:45.370 に答える
0
<?php
  $image_fieldname = "test_pic";
  $upload_dir = "/vidit";
  $display_message ='none';
  if (move_uploaded_file($_FILES[$image_fieldname]['tmp_name'],$upload_dir . '/' . $_FILES[$image_fieldname]['name'] && is_writable($upload_dir)) {
    $display_message = "file moved successfully";
  } else {
    $display_message = " STILL DID NOT MOVE";
  }
?>

インデントも追加。ファイル名を適用する必要があります。または、ファイルを拡張子のないファイルとしてアップロードするようなものです。

于 2012-09-30T07:14:42.380 に答える
0

ルート(www)にtmpディレクトリを作成し、ディレクトリパスを変更してください

$upload_dir = $_SERVER['DOCUMENT_ROOT'].'/tmp/';

于 2016-10-09T08:57:02.657 に答える
0

これを使えばうまくいくかもしれません

$upload_dir = "vidit/";



      $uploadfile=($upload_dir.basename($_FILES['test_pic']['name']));

if(move_uploaded_file($_FILES['test_pic']['tmp_name'], $uploadfile) ) {


}
于 2012-09-30T06:52:19.517 に答える