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