0

SLES 11 SP2 で Apache/PHP 5.3 を使用してファイルをアップロードすると、奇妙な問題が発生します ファイルをアップロードしようとすると、PHP はファイルの元の名前 ( $_FILES['name']) のみを取得し、必要な他のすべての変数は取得しません。

php.ini最大ファイルのアップロード、最大サイズの設定、ファイルアップロードの有効化などについて、両方をチェックしてダブルチェックしました。

何が起こっているのか誰にも分かりますか?

テストに使用したスクリプトは次のとおりです。

<?php
if(isset($_FILES)) {
    var_dump($_FILES);
}
?>
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="/" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

そして、これは私が受け取るものです:

array(1) { ["userfile"]=> array(1) { ["name"]=> string(8) "test.txt" } }
4

3 に答える 3

1

$_FILES に問題がありました。ファイルをアップロードしませんでした。

PHPコンポーネントを5.3.8-0.19.6から5.3.8-0.33.2にアップグレードして作業しました...

この投稿を見る

于 2013-03-07T13:06:51.607 に答える
0

アップロードされたファイルを tmp ディレクトリに書き込む際に問題が発生する可能性があります。upload_tmp_dirとはどういう意味phpinfo()ですか?

編集:

の値がありませんupload_tmp_dir。デフォルトは /tmp かもしれませんが、php.ini で明示的に /tmp に設定し、権限が適切に設定されていることを確認します。On に設定error_reportingし、Apache ログを確認すると、トラブルシューティングに役立ちます。サーバーにアクセスできないため、php スクリプトで直接これを試すことができます。

ini_set('upload_tmp_dir', '/tmp')
error_reporting(E_ALL);
ini_set('display_errors', '1');
于 2012-05-22T11:18:36.700 に答える
0

SLES 11 SP2 の PHP アップロードでも同じ問題が発生しました。私たちの場合、/tmpフォルダーの制限は最大でした。

コマンドを試してdf -h、クリーニングが必要かどうかを確認してください。

于 2013-03-01T15:53:35.440 に答える