ホームページ >バックエンド開発 >PHPの問題 >phpのダウンロードファイルが開けない場合はどうすればいいですか?

phpのダウンロードファイルが開けない場合はどうすればいいですか?

PHPz
PHPzオリジナル
2020-09-25 14:03:053110ブラウズ

php ダウンロードしたファイルが開けない問題の解決策: 1. ダウンロード プロセス中にファイル以外の情報の出力をキャンセルします; 2. 出力ファイルの形式とサフィックス名を一致させて保存します。

phpのダウンロードファイルが開けない場合はどうすればいいですか?

推奨: 「PHP ビデオ チュートリアル

php ダウンロード Excel ファイル、

1。ダウンロード プロセス中に、エコー ログ情報などのファイル以外の情報を出力しないでください。そうしないと、ダウンロードしたファイルを開くことができず、フォーマット エラーが発生するか、ファイルが破損しています。

2. 出力 Excel 形式はサフィックス名を付けて保存する必要があります。そうしないと、形式エラーが表示されるか、ファイルが破損します。

コードは次のとおりです:

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

以上がphpのダウンロードファイルが開けない場合はどうすればいいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。