PHP を使用して画像を開く代わりにダウンロードする方法! タイトルの通り: PHPで指定した画像をダウンロードするにはどうすればよいですか?ブラウザで開くのではなく? PHP 画像のダウンロード 共有先: -----解決策--------- $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-stream"); header('Content-Disposition: attachment; filename="' . basename($file) . '"'); header("Content-Length: ". filesize($file)); readfile($file); ログイン後にコピー------解決策----------------------phpのダウンロードについてハン・シュンピン氏が話した事例を投稿します。あなたを助けることができます。ビデオを見る必要がある場合は、Han Shuping PHP ビデオ チュートリアル レクチャー 87: をご覧ください。 コードは次のとおりです: //関数の説明 //パラメータの説明 $file_name ファイル名 //$file_sub_dir: ダウンロードしたファイルのサブパス '"/xxx/xxx/" function down_file($file_name,$file_sub_dir){ //画像のダウンロードをデモします。 //ファイルが中国語の場合。 //その理由は、php ファイル関数が比較的古く、中国語の gb2312 をトランスコードする必要があるためです。 $file_name=iconv("utf-8","gb2312",$file_name); //絶対パス $file_path=$_SERVER['DOCUMENT_ROOT'][ ].$file_sub_dir.$file_name; //1.ファイルを開く if(!file_exists($file_path)){ echo "ファイルが存在しません!"; 戻る ; } $fp=fopen($file_path,"r"); //2. ファイルを処理します //ダウンロードしたファイルのサイズを取得します $file_size=filesize($file_path); if($file_size>30){ echo "window.alert('大きすぎます')"; 戻る ; } //返されたファイル header("Content-type: application/octet-stream"); //バイトサイズに応じて返す header("Accept-Range: バイト"); //ファイルサイズを返します header("Accept-Length: $file_size"); //ここではクライアントのポップアップダイアログボックス、対応するファイル名 header("Content-Disposition:attachment; filename=".$file_name); //データをクライアントに送り返す $buffer=1024; //ダウンロードの安全性を高めるために、ファイルのバイト読み取りカウンターを作成したほうがよいでしょう $file_count=0; //この文はファイルが終了しているかどうかを判断するために使用されます while(!feof($fp) && ($file_size-$file_count>0) ){ $file_data=fread($fp,$buffer); //読み取られたバイト数をカウントします $file_count =$buffer; // いくつかのデータをブラウザに送り返します; echo $file_data; } //ファイルを閉じる fclose($fp); } //関数が利用可能かどうかをテストします down_file("Shunping.jpg","/http/down/"); ?>