第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用php下載圖片文件,但是下載的是整個(gè)php文件?

使用php下載圖片文件,但是下載的是整個(gè)php文件?

PHP
qq_笑_17 2019-03-15 13:07:25
<?php $fileName = 'upload/1.png'; $fileName = iconv('utf-8', 'gb2312', $fileName); $fp = fopen($fileName, 'r+'); if(!file_exists($fileName)){ echo 'file not'; exit(); } $file_size = filesize($fileName); // 返回文件 Header('Content-type: application/octet-stream'); // 告訴客戶端瀏覽器返回的文件大小是按照字節(jié)進(jìn)行計(jì)算 Header('Accept-Ranges: bytes'); // 返回文件的大小 Header('Accept-Length:'.$file_size); // 彈出客戶端的對話框,顯示對應(yīng)的文件名 Header('Content-Disposition: attachment; filename='.$filename); // 防止服務(wù)器壓力過大,分段讀取 $buffer = 1024; while (!feof($fp)) { $file_data = fread($fp, length); echo $file_data; } fclose($fp); 這段代碼執(zhí)行好,瀏覽器彈出的是下載當(dāng)前php文件的框? 不知是什么原因造成的?
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

$filename 文件名使用錯(cuò)誤,上邊定義的是 $fileName
還有 length 就沒有定義,應(yīng)該使用 $buffer 變量
修改后如下

$fileName = 'upload/1.png';
$fileName = iconv('utf-8', 'gb2312', $fileName);
$fp = fopen($fileName, 'r+');
if(!file_exists($fileName)){
    echo 'file not';
    exit();
}
$file_size = filesize($fileName);
// 返回文件
Header('Content-type: application/octet-stream');
// 告訴客戶端瀏覽器返回的文件大小是按照字節(jié)進(jìn)行計(jì)算
Header('Accept-Ranges: bytes');
// 返回文件的大小
Header('Accept-Length:'.$file_size);
// 彈出客戶端的對話框,顯示對應(yīng)的文件名
Header('Content-Disposition: attachment;filename='.$fileName);
// 防止服務(wù)器壓力過大,分段讀取
$buffer = 1024;
while (!feof($fp)) {
    $file_data = fread($fp, $buffer);
    echo $file_data;
}
fclose($fp);

還有你這樣并不能實(shí)現(xiàn)分段下載,如果要想實(shí)現(xiàn)請參考
HTTP/1.1 206 Partial Content 狀態(tài)碼

查看完整回答
反對 回復(fù) 2019-03-18
?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊

你這是個(gè)死循環(huán)吧。

  1. filename 變量未定義(大小寫)

  2. length 是什么鬼,哪兒定義的

把這兩個(gè)修復(fù)了就能正常工作了

查看完整回答
反對 回復(fù) 2019-03-18
  • 2 回答
  • 0 關(guān)注
  • 653 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號