PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
PHP
[請益] header下載多個檔案
作者:
fefeking
(fefeking)
2016-03-22 11:51:28
如題,新手到不行的問題...
我想要將 sever上的pdf檔案資料,按照順序排出並且用 checkbox來標明
然後在使用上可以勾選想要的檔案作為下載。
所以我寫了一個 PHP程式 將以選好的 ID(尋找pdf檔用)以post丟入程式
轉成對應pdf的檔名後以header下載。
問題來了: 假如只點選一個檔案的話 程式可以安然的下載pdf。
但是我復選checkbox 卻只會下載第一個pdf..
但是我將header部分的成是拿掉..改為只show 選取的檔名,卻又都可以顯示
我只能猜想..在header執行的時候網頁轉去其他地方造成 ID被洗掉?
以下附上程式,希望有人可以幫忙
<?php
foreach($_POST['select'] as $id => $item ){
$select_id[] = $id ;
}
require_once("dbconnect.php");
foreach($select_id as $ID)
{
$paper_search_str = "SELECT bibtext, label, title FROM archive WHERE paper_id
=".$ID ;
$paper_result = mysql_query($paper_search_str);
while($rows = mysql_fetch_array($paper_result)){
$label = $rows["label"];
$title = $rows["title"];
}
$filename= $label.'-'.$title.".pdf" ;//對應檔名
dp($filename) ; //下載的指令..假如不用改為下一行只顯示 就可以多個檔名都顯示
//echo $filename.';'.'<br>' ;
}
mysql_close();
?>
<?
function dp($filename){
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename='.$filename);
readfile('./file_dir/'.$filename);
exit();
}
?>
作者:
fefeking
(fefeking)
2016-03-23 15:46:00
感謝以上的意見 所以http一次送一個檔案這情況是必然的
作者:
shadowjohn
(轉角遇到愛)
2016-03-22 14:53:00
多檔先壓成一個zip一次抓呢?一般一個link對一個檔案,要多個window.open :)
作者:
Neisseria
(Neisseria)
2016-03-22 14:55:00
可能送 header 和檔案後,伺服器就把回應送出去了
作者: apple0660
2016-03-23 00:27:00
exit的時候程式就會停止執行,直接送response出去然後http一次只能送一個檔案,包成zip會比較好
http://stackoverflow.com/q/16390601
作者:
shadowjohn
(轉角遇到愛)
2016-03-23 10:32:00
建議用外部指令zip.exe,找找static版的ZipArchive 要注意寫法,小心太大檔爆ram
繼續閱讀
[閒聊] PHP 的 routing
Neisseria
[請益] 使用php實作soap
chaos012
Re: [請益] 請教兩個二維陣列合併
marklaiw
[徵才] 汘澍文創有限公司 後端工程師/助理工程師
pokey0000000
[請益] 請教兩個二維陣列合併
tq0551
[請益] Git 是否有需要刪除過舊的 commit
nakahusa
Re: [請益] 後台框架的選擇
appleboy46
[請益] 有關ci的指導手冊 - 動態新增新聞
alex90236
[請益] 後台框架的選擇
aaa7513231
[請益] PHP版本問題和自學書籍推薦
hms5232
Links
booklink
Contact Us: admin [ a t ] ucptt.com