PHP 開発では、不可解なエラーが発生することがあります。中でも厄介なエラーの 1 つは、ファイルの読み取り、ファイルのアップロード、ファイルの保存時に発生する「入力がファイルの末尾を超えています」です。
このエラーの原因は通常、ファイルのサイズまたはアップロードされたファイルのサイズが PHP.INI で設定された制限を超えていることが原因です。 PHP.INI にはファイルのアップロードに関する制限がいくつかあり、これらの制限により、一部の悪意のあるユーザーによる大きなファイルのアップロードが防止され、PHP のセキュリティが保護されます。
同時に、このエラーは、PHP 解析エンジンのエラーやバグによって発生する場合があります。
「入力がファイルの末尾を超えています」エラーが発生した場合はどうすればよいですか?いくつかの解決策を見てみましょう。
最初の解決策は、PHP.INI の関連する制限を変更することです。これにより、PHP がより大きなファイルを受け入れることができるようになります。以下の変更方法を参照してください。
upload_max_filesize = 2M post_max_size = 8M max_execution_time = 30
upload_max_filesize = 100M post_max_size = 100M max_execution_time = 300
2 番目の方法は、サードパーティのライブラリを使用して大きなファイルを読み取ることです。例えば、fgetcsv関数を使用して大きなCSVファイルを読み込む場合、ファイルが大きすぎると「入力がファイルの末尾を超えています」エラーが発生することがあります。このとき、Spout などのライブラリを使用して大きなファイルを読み取ることができます。コード例:
require_once('spout/src/Spout/Autoloader/autoload.php'); use Box\Spout\Reader\Common\Creator\ReaderEntityFactory; $reader = ReaderEntityFactory::createXLSXReader(); $reader->open('large_file.xlsx'); foreach ($reader->getSheetIterator() as $sheet) { foreach ($sheet->getRowIterator() as $row) { $cells = $row->getCells(); foreach ($cells as $cell) { //do something } } } $reader->close();
この方法では、PHP のデフォルトの読み取り方法が乱暴になることを回避でき、大きなファイルの読み取りにも効率的です。
最後に、この問題が発生した場合は、まずエラー プロンプトのファイル パスと行番号を書き留めてから、ファイル コードをチェックインして、ファイルの読み取り時にエラーを引き起こす構文エラーまたは論理エラーがないかどうかを確認します。同時に、PHP 解析エンジンにこのエラーの原因となるバグがあるかどうかも確認できます。この場合、PHP 公式 Web サイトにアクセスしてヘルプを求めるか、解決策を待つことができます。
概要
「入力がファイルの末尾を超えています」エラーは、PHP 開発でよく発生します。通常は、ファイルのサイズまたはアップロードされたファイルのサイズが PHP の制限を超えていることが原因です。 .INI。このエラーを回避するには、PHP.INI ファイル内のファイルのアップロード関連の制限を変更するか、サードパーティのライブラリを使用して大きなファイルを読み取るか、コードに問題の原因となっている構文エラーやロジック エラーがないかどうかを確認します。この記事が開発者がそのような問題を解決するのに役立つことを願っています。
以上がPHPの入力がファイルの終わりを超えていますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。