ホームページ >バックエンド開発 >PHPチュートリアル >ダウンロード機能ソリューションを実装するためのヘッダーを使用したphpについて

ダウンロード機能ソリューションを実装するためのヘッダーを使用したphpについて

WBOY
WBOYオリジナル
2016-06-13 12:03:17744ブラウズ

ダウンロード機能
test1.php のキーコードを実装するための PHP でのヘッダーの使用に関して、リンク データベースに関連するコードはここでは省略され、関連するコードのみがデータベースから読み取られます
$sql_select = "SELECT * FROM `file_information` ID による順序 DESC";
$sql_mysql = mysql_query($sql_select,$connected);
?>




/th>

while($sql_fetch = mysql_fetch_array($sql_mysql))
{
? >

/" 0" heihgt="80"/>




}
?>
IDサムネイル概要パス ;長い転送時間オペレーション


">ダウンロード



test2 .php コード: (header("Content-Type: text/ html;charset=UTF-8") のため、他のすべての HTML コードが削除され、test2.php の PHP コードは test1.php に書き込まれませんでした。 test1.php にはヘッダー ( ) に影響する出力があるため、 Set type
header("Content-Type: text/html;charset=UTF-8");
if( !empty($_GET['download_id']))
{
$download_id = $_GET['download_id'];
$download_id =explode("@@@",$download_id);

$download_path = $download_id[1];
if(!is_null($download_path))
{
$filename = basename($download_path);// ファイル名を取得します
$download_file = fopen($download_path,"r");
if($download_file)
{
header("Content-Type:application/octet-stream");
header("Accept -Ranges:bytes");
header("Accept -Length:".filesize($download_path));
header("Content-Disposition:attachment; filename=".$filename);
echo fread($download_file,filesize($download_path));
fclose($download_file);
exit;
}
else
{
echo "ファイルは存在してはいけません" ;
}

}
}
?>


これは実際に行うことができ、テスト後はダウンロード機能も実行できます。 、IE9、Chrome、Firefox、jpg ファイル、png ファイルで実行でき、txt ファイル、swf ファイルをダウンロードして表示できますが、Chrome カーネルをベースにした 360 スピード ブラウザには問題があります。 . 画像が png 形式の場合はダウンロードして開くことができます。 画像が jpg 形式の場合はダウンロードできますが、サイズが 0B です。おそらくブラウザの問題でしょうか。しかし、Chrome でそれができるなら、なぜできないのでしょうか? ?理由についてアドバイスをお願いします。 (追記: 360 Speed Browser のスピード モード、互換モード、IE9 モードでは jpg 形式の画像をダウンロードできません)

-----解決策- - -----------------if(file_exists($download_file)){
//
}

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