0

これは、ファイルのアップロードに失敗したと言うサーバーでテストしているスクリプトです。しかし、別のサーバーで試してみると、うまくいきます。これは私のphp.ini設定に関係しているのか、それとも...

<form enctype="multipart/form-data" action="fupload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="512000" />
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

<?php

$uploaddir = '/var/www/vhosts/costsave.net.au/httpdocs/uploads/';
$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>";

?>

エラー

ここに画像の説明を入力

4

2 に答える 2

2

ファイルのアップロードに関する設定:

  • file_uploads
  • upload_max_filesize
  • upload_tmp_dir
  • post_max_size
  • max_input_time

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

file_uploadsブール値または整数

HTTP ファイルのアップロードを許可するかどうか。

一時アップロード ディレクトリの権限も正しいですか?

upload_tmp_dir文字列

ファイルのアップロード時にファイルを保存するために使用される一時ディレクトリ。PHP を実行しているユーザーが書き込み可能である必要があります。指定しない場合、PHP はシステムのデフォルトを使用します。ここで指定されたディレクトリが書き込み可能でない場合、PHP はシステムのデフォルトの一時ディレクトリにフォールバックします。open_basedir がオンの場合、アップロードを成功させるには、システムのデフォルト ディレクトリを許可する必要があります

于 2013-03-08T10:52:33.560 に答える
1

CHMOD が設定され/var/www/vhosts/costsave.net.au/httpdocs/uploads/ており、書き込み権限があるかどうかを確認してください。

別のオプションとして、出力$_FILES['userfile']['error']して何が起こるかを確認できます。

于 2013-03-08T10:52:47.847 に答える