ホームページ  >  記事  >  バックエンド開発  >  PHP のエクスポートと Excel ファイルのダウンロードが IE によってブロックされます。それを解決するにはどうすればよいですか?ストリーム出力も使用できません。

PHP のエクスポートと Excel ファイルのダウンロードが IE によってブロックされます。それを解決するにはどうすればよいですか?ストリーム出力も使用できません。

WBOY
WBOYオリジナル
2016-06-13 13:33:231260ブラウズ

PHP のエクスポートと Excel ファイルのダウンロードが IE によってブロックされます。それを解決するにはどうすればよいですか?ストリーム出力でも機能しません。
Excel ファイルのダウンロードが IE によってブロックされています。解決するにはどうすればよいですか?
エクスポート ボタンをクリックすると、AJAX を介してバックグラウンドで Excel ファイルが生成されます。ファイルを保存するかどうかを尋ねるダイアログ ボックスをページ上に直接ポップアップ表示する場合は、
ウィンドウを使用します。 js の location.href=''; または経由でフォームを新しいページに送信すると、バックグラウンド出力がストリーミングされ、IE によってブロックされます。


PHP コード

 <br> $file_name="test.xls"; <br> $file_path="../data/down/2011/03/21/"; <br> $file_name = urldecode($file_name); <br>  <br> // ../ is not allowed in the file name <br> if (!ereg("(\.\.\/)", $file_name)) <br> { <br> // Does the file exist? <br> 	if (file_exists($file_path . $file_name)) <br> 	{ <br> 		$fp = @fopen( $file_path . $file_name, "r" ); <br> 		//Prompt the user to download the new torrent file. <br> 		header("Expires: 0" ); <br> 		header("Pragma:public" ); <br> 		header("Cache-Control:must-revalidate,post-check=0,pre-check=0" ); <br> 		header("Cache-Control:public"); <br> 		header("Content-Type:application/octet-stream" ); <br> 		 <br> 		if (strstr($_SERVER["HTTP_USER_AGENT"],"MSIE"))	{ <br> 			header("Content-Disposition:attachment;filename=".urlencode($file_name) ); <br> 		}else{ <br> 			header("Content-Disposition:attachment;filename=".$file_name ); <br> 		} <br> 		header("Content-transfer-encoding: binary"); <br> 		header("Content-length:".@filesize( $file_path . $file_name )); <br> 		 <br> 		@fpassthru( $fp ); <br> 		@fclose( $fp ); <br>  	} <br> 	exit(); <br> }  <br>  <br> 





------解決策------- - ------------ そしたらただでポイントもらえますよ(笑)

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