PHP-Eingabe überschreitet das Ende der Datei

王林
Freigeben: 2023-05-06 20:37:05
Original
1003 Leute haben es durchsucht

Bei der PHP-Entwicklung können einige unerklärliche Fehler auftreten. Einer der problematischeren Fehler ist „Eingabe überschreitet das Ende der Datei“, was normalerweise beim Lesen von Dateien, beim Hochladen von Dateien und beim Speichern von Dateien auftritt.

Die Ursache für diesen Fehler liegt normalerweise darin, dass die Größe der Datei oder die Größe der hochgeladenen Datei den in PHP.INI festgelegten Grenzwert überschreitet. Es gibt einige Einschränkungen im Zusammenhang mit dem Hochladen von Dateien in PHP.INI. Diese Einschränkungen können einige böswillige Benutzer daran hindern, große Dateien hochzuladen, und die Sicherheit von PHP schützen.

Gleichzeitig wird dieser Fehler manchmal durch einige Fehler oder Bugs in der PHP-Parsing-Engine verursacht.

Was soll ich tun, wenn der Fehler „Eingabe überschreitet das Ende der Datei“ auftritt? Werfen wir einen Blick auf einige Lösungen.

  1. Ändern Sie die Einschränkungen in PHP.INI

Die erste Lösung besteht darin, die relevanten Einschränkungen in PHP.INI zu ändern, wodurch PHP größere Dateien akzeptieren kann. Sehen Sie sich die Änderungsmethode unten an:

  • Öffnen Sie die PHP.INI-Datei.
  • Finden Sie die folgenden Parameter:
upload_max_filesize = 2M 
post_max_size = 8M 
max_execution_time = 30 
Nach dem Login kopieren
  • Ändern Sie ihre Werte in größere Werte. Zum Beispiel:
upload_max_filesize = 100M 
post_max_size = 100M 
max_execution_time = 300
Nach dem Login kopieren
  • Speichern Sie die geänderte PHP.INI-Datei und starten Sie Apache neu.
  1. Verwenden Sie eine Bibliothek eines Drittanbieters, um große Dateien zu lesen.

Die zweite Methode besteht darin, eine Bibliothek eines Drittanbieters zu verwenden, um große Dateien zu lesen. Wenn Sie beispielsweise die Funktion fgetcsv zum Lesen einer großen CSV-Datei verwenden und die Datei zu groß ist, kann der Fehler „Eingabe überschreitet das Ende der Datei“ auftreten. Zu diesem Zeitpunkt können Sie Bibliotheken wie Spout verwenden, um große Dateien zu lesen. Codebeispiel:

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();
Nach dem Login kopieren

Diese Methode kann verhindern, dass die Standardlesemethode von PHP zu heftig ist, und sie ist auch effizienter beim Lesen großer Dateien.

  1. Überprüfen Sie die PHP-Parsing-Engine

Wenn wir schließlich auf dieses Problem stoßen, können wir zunächst den Dateipfad und die Zeilennummer der Fehleraufforderung notieren und dann den Code in der Datei überprüfen, um festzustellen, ob Grammatikfehler vorliegen oder logische Fehler Beim Lesen der Datei ist ein Fehler aufgetreten. Gleichzeitig können wir auch prüfen, ob ein Fehler in der PHP-Parsing-Engine vorliegt, der diesen Fehler verursacht. In diesem Fall können wir die offizielle PHP-Website um Hilfe bitten oder auf eine Lösung warten.

Zusammenfassung

Der Fehler „Eingabe überschreitet Dateiende“ tritt häufig bei der PHP-Entwicklung auf, normalerweise weil die Größe der Datei oder die Größe der hochgeladenen Datei den Grenzwert in PHP.INI überschreitet. Um diesen Fehler zu vermeiden, können wir die Einschränkungen für das Hochladen von Dateien in der PHP.INI-Datei ändern, eine Bibliothek eines Drittanbieters zum Lesen großer Dateien verwenden oder prüfen, ob Syntax- oder Logikfehler im Code Probleme verursachen. Ich hoffe, dieser Artikel kann Entwicklern helfen, solche Probleme zu lösen.

Das obige ist der detaillierte Inhalt vonPHP-Eingabe überschreitet das Ende der Datei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage