2

プロジェクトの 1 つで複数ファイルのアップロード機能を実行しました。これには、フラッシュ バージョンのuploadifyを使用します。

私のローカル開発マシンと、テスト用に持っている別のサーバーでは問題なく動作しますが、本番マシンでは (もちろん) 動作しません。

問題のトラブルシューティングを行った後、アップロード プロセスを処理するスクリプトが、問題のあるサーバーの $_FILES 内のすべてのパラメーターを受信して​​いないことがわかりました。

var_dump($_FILES)作業マシンで:

["Filedata"]=>
   array(5) {
     ["name"]=>
     string(10) "simple.pdf"
     ["type"]=>
     string(24) "application/octet-stream"
     ["tmp_name"]=>
     string(14) "/tmp/phpTnNROo"
     ["error"]=>
     int(0)
     ["size"]=>
     int(60911)
   }
 }

var_dump($_FILES)失敗したマシンで:

["Filedata"]=>
   array(1) {
     ["name"]=>
     string(10) "simple.pdf"
   }
 }

理由はわかりませんが、エラー番号すらありません。

どうすれば修正できますか?

これらの PHP バージョンを使用します。

Dev Machine: PHP 5.3.15
Working Remote Machine: PHP 5.3.3
Failing Remote Machine: PHP 5.3.8

php.ini の構成 (エラーの原因となる構成の制限をなくすように変更しました):

file_uploads = On
max_file_uploads = 200
upload_max_filesize = 1G
post_max_size = 1G
memory_limit = 256M
max_execution_time = 14000
max_input_time = 14000
4

1 に答える 1

1

フォームの HTML コードを確認してください。本番サーバーでフォームのメソッドを変更しましたか? 本番サーバーでは、ブラウザはファイルをまったくアップロードしないようです。たとえば、フォームコードは次のようにする必要があります。

<form method="POST"  enctype="multipart/form-data">
  <input type="file" name="file[]"><br />
  <input type="file" name="file[]"><br />
</form>
于 2012-08-27T10:58:20.270 に答える