Home  >  Article  >  Backend Development  >  What should I do if the php download file cannot be opened?

What should I do if the php download file cannot be opened?

PHPz
PHPzOriginal
2020-09-25 14:03:053045browse

Solutions to the problem that php downloaded files cannot be opened: 1. Cancel the output of any non-file information during the download process; 2. Save the output file format and suffix name consistent.

What should I do if the php download file cannot be opened?

Recommended: "PHP Video Tutorial"

php download excel file,

1. Do not output any non-file information during the download process, such as echo log information. Otherwise, the downloaded file cannot be opened, prompting a format error or the file is damaged.

2. The output excel format must be saved with the suffix name, otherwise it will prompt a format error or the file is damaged

The code is as follows:

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;;
  }

The above is the detailed content of What should I do if the php download file cannot be opened?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn