49

WAMPサーバーを実行しています。PHPを使用したファイルのアップロードで

$_FILES[tmp_name] => string 'C:\wamp\tmp\phpD382.tmp' (length=23)

そのフォルダに移動しましたが、空です。「隠しファイルを表示する」が「フォルダオプション」からオンになっていることを確認しましたが、表示されません。正確にはどこにありますか?

また、いつ削除されますか?そのファイルを移動しない場合はどうなりますか?たとえば、ファイルをアップロードしていて、ファイルが途中でアップロードされ、そのブラウザを閉じることにした場合、ファイルはどうなりますか?サーバーはいつその一時ファイルを削除することを知っていますか?

4

3 に答える 3

34

PHPスクリプトの実行が終了し、定義された場所に再保存するとすぐに

ストレートPHPを使用した例、フレームワークなし

http://www.php.net/manual/en/features.file-upload.post-method.php

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);

print "</pre>";

?>
于 2012-06-21T03:48:53.717 に答える
10

それらを何もしなければ、スクリプトが終了した直後に削除されます。

于 2015-02-04T19:51:13.700 に答える
4

ファイルを削除したくない場合は、同じ場所に「移動」すると、実行後にPHPがファイルを削除しないことがわかりました。

move_uploaded_file($temporaryFile, $temporaryFile);
于 2017-03-01T10:48:08.077 に答える