ホームページ  >  記事  >  バックエンド開発  >  PHP から Excel をダウンロードした後に Excel が開けない場合はどうすればよいですか?

PHP から Excel をダウンロードした後に Excel が開けない場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2021-05-08 09:11:172301ブラウズ

ダウンロード後に PHP で Excel を開けない問題の解決策: 1. ダウンロード プロセス中にファイル以外の情報を出力しないでください; 2. 出力される Excel 形式は保存されたサフィックス名と一致している必要があります; 3.ファイルがダウンロードされたかどうかを確認します。完了するだけです。

PHP から Excel をダウンロードした後に Excel が開けない場合はどうすればよいですか?

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

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

3. ファイルエラー。ファイルが完全にダウンロードされているかどうかを確認してください。

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

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

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