0

chmod -R 777ルート フォルダーで実行しました
が、アップロードされたフォルダーに正常にアップロード (つまり、書き込み) できません。

php.ini ファイルも変更する必要がありますか?

//$target_path = "http://localhost/photoServerProject/uploaded";
$target_path = "/photoServerProject/uploaded";
$fname = $_FILES["file"]["name"];
$upload_location = $target_path.'/'.$fname;

move_uploaded_file($_FILES["file"]["tmp_name"], $upload_location);

echo 'Moving file: ' . $fname . '</br></br>to: ' . $upload_location;
//echo "<img src=$upload_location>";

if(is_writeable($upload_location)){
    echo '</br></br>Location <strong>is</strong> writeable ';
} else {
    echo '</br></br>Location <strong>is NOT</strong> writeable ';
}

出力:

移動ファイル:camera.jpeg

宛先: /photoServerProject/uploaded/camera.jpeg

場所は書き込み可能ではありません

4

3 に答える 3

0

サーバーとローカル ディスクのディレクトリ構造の違いを誤解していました。つまり、ルート フォルダーが異なります。

誰もこの問題を提起しなかったことに驚いています。

解決策は次のとおりです。

<?php

    $local_target = "~/webdev/photoServerProject/uploaded/";
    $server_target = $_server['DOCUMENT_ROOT'] . "/photoServerProject/uploaded/";

    $fname = $_FILES["file"]["name"];

    $local_file_location = $local_target.$fname;
    $server_file_location = $server_target.$fname;

    move_uploaded_file($_FILES["file"]["tmp_name"], $local_file_location);

    echo 'Moving file: ' . $fname . '</br></br>to local path: ' . $local_file_location;
    echo '</br></br> But on the server it resides in : ' . $server_file_location;
    echo '</br></br> See?';
    echo "</br></br> <img src=$server_file_location>";

?>
于 2013-09-27T23:16:38.447 に答える
0

ローカル ドライブのパスとサーバー パスの違いを混同していました。サーバー パスのルート フォルダー (localhosts) は、ローカル ディレクトリ構造とは異なります。

于 2013-09-27T23:07:08.433 に答える