なぜこれが機能しないのかわかりません。とても簡単なはずです。
upload.php:
$uploaddir = '/usr/share/nginx/www/pitfax/upload/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo "<p>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
}
else {
echo "Upload failed";
}
echo "</p>";
echo '<pre>';
echo 'Here is some more debugging info:';
print_r($_FILES); print "</pre>";
フォームページ:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
エラー出力は次のとおりです。
Upload failed
Here is some more debugging info:Array (
[userfile] => Array
(
[name] => test.pdf
[type] => application/pdf
[tmp_name] => /tmp/phptM0p4w
[error] => 0
[size] => 1287464
)
)
- Webサーバー:NginX
- 権限
upload.php
:644 - ディレクトリのアクセス許可
upload
:755 - rootユーザーとのSSHでの作業。
- 編集: upload_max_filesize = 2M
- 編集: post_max_size = 8M
別物!アップロードが完了したら、アップロードしたファイルの絶対パスを取得したいと思います。(例/usr/share/nginx/www/pitfax/upload/test.pdf
:)