ホームページ  >  記事  >  バックエンド開発  >  PHPがファイルを受信できない場合はどうすればよいですか?

PHPがファイルを受信できない場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2021-09-22 11:20:463197ブラウズ

php がファイルを受信しない場合の解決策: 1. php.ini 設定ファイルを見つけます; 2. 「upload_max_filesize = 30M」の内容を設定します; 3. post_max_size オプションを変更します。

PHPがファイルを受信できない場合はどうすればよいですか?

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。

php ファイルを受信できない場合はどうすればよいですか?

php で $_file を取得できない一般的な理由

今日フォームをアップロードするときに奇妙な問題が発生しました。フォームの送信を取得できませんでした。通常のフィールドが取得できません。ファイルをアップロードしたので、for フォームに enctype="multipart/form-data" 属性が追加されているか確認したところ、追加されていました;

後でphp.ini にアクセスすると、ファイル アップロード機能 file_uploads=on も有効になっていることがわかりました。長い間考えてデバッグした後も、まだ機能しませんでした。次に、写真をアップロードする別のプロジェクトについて考えました。データを取得できました。それで、見てみると、コードも同じであることがわかりました。違いはありませんでした。ここで取得した後も、まだ動作しませんでした。次に、php.ini にアクセスして設定をチェックし、何か問題がないかどうかを確認しましたUpload_max_filesize =2M (つまり、ファイルのアップロード サイズは 2M) と表示されました。アップロードしたファイルが 2M を超えていたため、upload_max_filesize =2M を Upload_max_filesize =64M に変更し、サーバーを再起動しましたが、それでも機能しないことがわかりました。そこで、フォーム送信時に制限があるのか​​と考えたのですが、php.ini で post_max_size=8M という記述を見つけて興味深かったので、これを変更します (POST バイト長に許可される最大データ長を意味し、デフォルトは 8M)。 post_max_size=64M に設定し、サービスを再起動すると、機能することがわかります。

概要:

php.ini 設定ファイルのデフォルトのファイル アップロード サイズは 2M で、デフォルトの Upload_max_filesize = 2M、つまりファイル アップロード サイズは 2M です。 8M を超えるファイル (30M など) をアップロードするには、upload_max_filesize = 30M を設定する必要があります。

ただし、upload_max_filesize = 30M に設定しただけでは、ファイル アップロード機能を実現できません。POST に許可されるデータの最大バイト長を表す php.ini 設定ファイルの post_max_size オプションを変更する必要があります。デフォルトは 8M です。 、したがって、まだ post_max_size=30M を設定することになります。

POST データが制限を超えると、$_POST と $_FILES は空になります。大きなファイルをアップロードするには、このオプションを、upload_max_filesize ディレクティブの値以上の値に設定する必要があります。

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPがファイルを受信できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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