「另存爲」對話框顯示並允許用戶下載圖片,但下載的圖片已損壞並可以查看。強制圖片下載無法正常工作
<?php
$username = $_GET['username'];
$size = $_GET['size'];
$ext = $_GET['ext'];
$border = $_GET['border'];
$basename = basename($_SERVER['REQUEST_URI']);
if(!isset($size)) { $size = 'small'; }
if(!isset($ext)) { $ext = 'jpeg'; }
if(!isset($border)) { $border = 'true'; }
$file = 'avatar-'.$size.'-'.$username.'.'.$ext;
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$basename);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
#header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
?>
下載鏈接:download picture。並且應該下載的圖片:avatar-Luxie.jpeg
順便說一句,圖片是由另一個腳本生成的,我不知道是否重要,如果你需要它,我可以發佈代碼。
.htaccess文件的片段:
Rewriterule ^images/user-([A-Za-z0-9_-]{1,10}).jpeg$ /system/avatar-dl.php?username=$1&size=big&ext=jpeg&border=true [L,QSA]
下載的圖像是155字節;顯然這是一個問題。代碼看起來不錯,'$ file'呢? – Jon 2013-03-02 16:58:33
$文件是由另一個代碼生成的,輸出是http://drksde.tk/images/avatar-Luxie.png – Ender 2013-03-02 17:00:40