PHPファイルダウンロードページの簡単な実装
function get_extension($file){ return substr(strrchr($file, '.'), 1); } function get_name($path){ return substr(strrchr($path, '/'), 1); } function getImage($url,$fileName="") { $fbufsize = 8096; $ext = get_extension($url); $fileName = get_name($url); $type = array( 'gif' => 'image/gif', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'jpe' => 'image/jpeg', 'png' => 'image/png', ); $imgType = isset($type[$ext])?$type[$ext]:die("类型不符"); header('Content-Description: File Transfer'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header("Content-type: ".$imgType); header("Content-Transfer-Encoding: binary"); header('Content-Disposition: attachment; filename="'.$fileName.'"'); header("Content-Length:" . getimagesize($url)."\n\n" ); $fp = fopen($url,"r"); while(!feof($fp)) { print(fread($fp,$fbufsize)); flush(); ob_flush(); } fclose($fp); exit; } getImage("http://www.lpfrx.com/wp-content/themes/ProSense/images/rss-feed-icon.jpg");
画像などのjqueryフロントエンドとバックエンドを連携して処理すると非常に強力です
$("img).click(function(){
var path = $(this).attr("src");
location.href="test.php?path="+path;
})
テスト済み
ダウンロードした形式に関係なく、簡単に参照できるように変更するだけです