Heim > Artikel > Backend-Entwicklung > Was tun, wenn der Inhalt der PHP-Downloaddatei verstümmelt ist?
Lösung für den verstümmelten Inhalt der PHP-Download-Datei: 1. Löschen Sie den Inhalt des Ausgabepuffers mit der Funktion „ob_clean()“. 2. Aktualisieren Sie den Puffer des PHP-Programms mit der Funktion „flush()“.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP7.1, Dell G3-Computer.
php-Datei herunterladen Die Lösung für den verstümmelten und beschädigten Inhalt der heruntergeladenen Datei
Wenn Sie ein PHP-Programm erstellen, müssen Sie PHP zum Herunterladen von Dateien verwenden
Dann machen Sie es einfach, kopieren Sie den Code und ändern Sie ihn.
Es sind auch viele Effekte aufgetreten
Nachdem ich auf „Herunterladen“ geklickt hatte, dachte ich, dass der Dateidownload abgeschlossen sei. Als das Bild geöffnet wurde, zeigte sich, dass die Datei beschädigt war, also beobachtete ich die Dateigröße. Es scheint etwa 1 KB zu viel zu sein.
Öffnen Sie es in PS, nun, es zeigt Schäden, aber das Bild kann herauskommen.
Dann denke ich, dass es das Problem der zusätzlichen 1 KB ist.
Dann habe ich eine TXT-Datei hochgeladen und dann heruntergeladen.
Tatsächlich habe ich festgestellt, dass vorne und hinten in der Datei ein paar zusätzliche Zeichen waren.
Dann habe ich darüber nachgedacht, wie ich es entfernen kann.
Nach mehr als einer Stunde Suche habe ich endlich die Lösung gefunden " 】
Der Code lautet wie folgt
public function download() { $upload=M('upload'); $data=$upload->find($_GET['id']); if(empty($data)){ header('HTTP/1.0 404 Not Found'); header('Location: .'); }else{ $path='./public/Uploads/'.$data['savename']; header("Content-Type:".$data['type']); header('Content-Disposition: attachment; filename="'.$data['name'].'"'); header('Content-Length:'.$data['size']); ob_clean(); flush(); readfile($path); } }
Hinweis:
ob_clean();flush(); Dies ist der Schlüssel. Nach Verwendung dieser beiden Funktionen wurde das Bild normal geöffnet und der Text war nicht verstümmelt.
Das obige ist der detaillierte Inhalt vonWas tun, wenn der Inhalt der PHP-Downloaddatei verstümmelt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!