Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn die PHP-Downloaddatei nicht geöffnet werden kann?

Was soll ich tun, wenn die PHP-Downloaddatei nicht geöffnet werden kann?

PHPz
PHPzOriginal
2020-09-25 14:03:053167Durchsuche

Lösungen für von PHP heruntergeladene Dateien, die nicht geöffnet werden können: 1. Brechen Sie die Ausgabe aller Nicht-Dateiinformationen während des Downloadvorgangs ab. 2. Speichern Sie das Ausgabedateiformat und den Suffixnamen konsistent.

Was soll ich tun, wenn die PHP-Downloaddatei nicht geöffnet werden kann?

Empfohlen: „PHP-Video-Tutorial

php zum Herunterladen von Excel-Dateien,

1. Geben Sie während des Downloadvorgangs keine Nicht-Dateiinformationen aus, wie z. B. Echoprotokollinformationen. Andernfalls kann die heruntergeladene Datei nicht geöffnet werden, was zu einem Formatfehler führt oder die Datei beschädigt ist.

2. Das Ausgabe-Excel-Format muss mit dem Suffixnamen gespeichert werden, andernfalls wird ein Formatfehler angezeigt oder die Datei ist beschädigt

Der Code lautet wie folgt:

if (file_exists(CACHE_PATH . $file_name)){
            //$this->logger->error('file realpath:'.realpath(CACHE_PATH . $file_name));
      header( 'Pragma: public' );
      header( 'Expires: 0' );
      header( 'Content-Encoding: none' );
      header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
      header( 'Cache-Control: public' );
   header( 'Content-Type: application/vnd.ms-excel'); 
      header( 'Content-Description: File Transfer' );
      header( 'Content-Disposition: attachment; filename=' . $file_name );
      header( 'Content-Transfer-Encoding: binary' );
      header( 'Content-Length: ' . filesize ( CACHE_PATH . $file_name ) );
      readfile ( CACHE_PATH . $file_name );
  } else {
   $this->logger->error('export model :'.$id.' 错误:未生产文件');
      echo &#39;<script>alert(\&#39;export error, file not exists!\&#39;)</script>&#39;;
  }

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die PHP-Downloaddatei nicht geöffnet werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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