ホームページ >バックエンド開発 >PHPチュートリアル >PHP アップロード ファイル $_FILES が情報を受信できません

PHP アップロード ファイル $_FILES が情報を受信できません

WBOY
WBOYオリジナル
2016-06-23 13:23:461428ブラウズ

みなさん、こんにちは!

ビデオファイルをアップロードするための小さなプログラムを書きました。
Windows でテストする場合:
php5.5+apache2.4.9、php の最大アップロード サイズの 2 つの構成は 1024M に設定されています
現時点では、どのビデオをアップロードしても問題はありません。

しかし、Linux:
php5.3+nginx で入手すると、同様に php 設定ファイルが設定され、nginx.conf も client_max_body_size を 1024M に設定します。

しかし、XP システムから「I am a Little Navy 0.mp4」という名前のビデオ ファイル (約 140M) をコピーしてアップロードしたところ、$_FILES が空として出力されました。
ローカルマシン(win8)に2つのビデオファイルをコピーしました。1つは約2M、もう1つは約400Mで、両方とも「I am a little Navy 0.mp4」という名前で、正常にアップロードされたので、問題が発生しました。中国語の名前は削除されます。 (アップロードクラスで中国語の名前もそれに応じて処理しました)。

今のところ、アップロードの最大サイズ制限をなくすことができ、名前付けの問題も解決できます。ファイルの問題だけの可能性がありますが、何が問題なのでしょうか? 。

ヘルプ...


ディスカッションに返信 (解決策)

アップロード ディレクトリのアクセス許可に問題があるかどうかを確認してください。 に変更してください。 775 または 777 を試してください

アップロード ファイル形式を設定していない場合は、最初に小さなテキスト ファイルをアップロードしてテストしてください。
コード (Linux では大文字と小文字が厳密に区別されます) と Linux での権限の問題 (これが最も可能性が高いです)
アップロードが成功した場合は、アップロードされたファイルのサイズ制限に問題があります。

アップロードされたファイルのサイズが post_max_size の制限を超えています

エラー ログを確認してください

post_max_size と Upload_max_filesize は両方とも 1024M に設定されています。 nginx.conf では client_max_body_size 1024M も設定されていますが、この方法をオンラインで見つけることができるかどうかはわかりません。問題はないはずです。
質問の要点は、
約400MのMP4はアップロードできますが、約100MのMP4はアップロードできず、ファイル名も同じです。
唯一の違いは、100M MP4 ファイルが XP システムのコンピュータからコピーされたものであり、400M MP4 ファイルが私のコンピュータ (win8) からコピーされたことであることはわかっています。

100M ファイルの出所が分からず、考えられる理由も分からないので、どのような情報を提供できるか分かりません。
他にも情報が必要な場合は、お送りさせていただきますので、ご協力いただければ幸いです。

ファイル 140 については、ファイル名を純粋な英数字に変更して、エンコードの問題であるかどうかを確認してください。

140 ファイルの場合は、ファイル名を純粋な英数字に変更して、エンコードの問題であるかどうかを確認してください。



純粋な英語または純粋な数字は機能しませんか?

ブラウザのフォームを使用してアップロードされますか?
XP システム用の成功したファイルはありますか?
XP から送信された文字列を正常に受信できますか?

ブラウザのフォームを使用してアップロードされますか?
XP システム用の成功したファイルはありますか?
XP から送信された文字列を正常に受信できますか?


はい、XP ではフォーム送信の場合は成功したファイルもあり、文字列の送信は許容されますが、失敗したファイルについては、私のマシンにアップロードしても意味がありません。 XP から 2 つのファイルをコピーしましたが、アップロードできません

2014 年に質問されましたが、まだ答えなければなりません:
php 5.3
php 5.5
2 つのバージョンでは、ファイルのアップロード方法が異なります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。