PHPのアップロードができません。 PHP 5.4.45 Centos 6.7。 Apache 2.2.27。PHP move_uploaded_file()理由なしのFAILS
私はHTMLファイルを持っている:
<form enctype="multipart/form-data" action="test2.php" method="POST">
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" name="submit"/>
</form>
をそして、私はPHPファイルを持っている:
<?php
$uploaddir = '/home/michael/public_html/forum/files/';
$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 "Error!\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
私はそれを実行すると、私が手:
Error!
Here is some more debugging info:Array
(
[userfile] => Array
(
[name] => 184958.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpupab11
[error] => 0
[size] => 1473603
)
)
、ファイルが移動されませんが新しい場所に。代わりに、新しい場所に同じ名前の0サイズのファイルがあります。
-rw-r--r-- 1 michael michael 0 Apr 5 16:33 184958.jpg
Serverログにエラーがノート:
[error] [client xx.xx.xx.xx] PHP Warning: move_uploaded_file():
Unable to move '/tmp/phpupab11' to '/home/michael/public_html/forum/files/184958.jpg'
in /home/michael/public_html/forum/test2.php on line 9
ファイルは/ tmpのディレクトリに良いアップロードされていますが、別の場所に移動することができないようです。 私が読んだことは許可問題です。しかし、フォルダ「ファイル」の権限では良いようです - 777(所有者のマイケル=ユーザ名を持つ):
drwxrwxrwx 2 michael michael 1216512 Apr 5 13:16 files
だけでなく、PHPの変数:
post_max_size 20M
upload_max_filesize 20M
upload_tmp_dir /tmp
file_uploads On
memory_limit 1024M
私はいくつかの助けまたは少なくとも方向性を得るために喜んだろう問題を解決するために探します。 ありがとうございます。
私が移動する前に、同じコードを別のサーバーに取り組んでいたPS。 – Shmuel
何forum' 'についてフォルダの権限? – mitkosoft
PHPで警告があるかどうかを確認するここのようなすべてのログを有効にする:http://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-displayもし、最初のパラメータが無効であるという警告が表示されます。http://php.net/manual/en/function.move-uploaded-file.php –