Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php加载pdf文件(慢速)_Php - Fatal编程技术网

通过php加载pdf文件(慢速)

通过php加载pdf文件(慢速),php,Php,我有一个使用php加载pdf文件的脚本,但问题是我注意到加载需要一些时间,而且pdf文件不是很重,而且我的互联网连接速度很快,我的代码没有经过充分的优化吗 这是: ob_start(); $pdf = $_GET['download_file']; $urlPDF = "http://domain.com/candidates/".$pdf; header("Cache-Control: public"); header("Content-Description: File Transfer")

我有一个使用php加载pdf文件的脚本,但问题是我注意到加载需要一些时间,而且pdf文件不是很重,而且我的互联网连接速度很快,我的代码没有经过充分的优化吗

这是:

ob_start();
$pdf = $_GET['download_file'];
$urlPDF = "http://domain.com/candidates/".$pdf;
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; 
filename='.$urlPDF);
header("Content-Type: application/pdf");
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($urlPDF));
readfile($urlPDF);
exit;

仅仅因为你有一个快速的连接并不意味着一切都会很快。如果
domain.com
今天过得不好怎么办?另外,您正在缓冲整个pdf,因此发送给客户机的内容在退出之前不会发生已到达。删除ob_start(),您的客户端将以readfile从domain.com接收字节的相同速率开始获取字节。您必须了解,这样做,pdf文件必须传输两次。一次是从原始源发送到服务器,另一次是发送到用户…@MarcB我刚刚删除了ob_start(),但随后给了我一个错误警告:头可能不包含多个头,在download.php第6行检测到新行,“警告:无法修改头信息”和“警告:filesize():stat http://”失败…@MarcB发现了问题,但现在正在下载文件,而不是在浏览器中打开,并且由于某种原因,Downloaded文件名与url相同。解决了此问题,改为“内容处置”作为附件,我将其替换为“内容处置:内联”仅仅因为你有一个快速的连接并不意味着一切都会很快。如果
domain.com
今天过得不好怎么办?另外,您正在缓冲整个pdf,因此发送给客户机的内容在退出之前不会发生已到达。删除ob_start(),您的客户端将以readfile从domain.com接收字节的相同速率开始获取字节。您必须了解,这样做,pdf文件必须传输两次。一次是从原始源发送到服务器,另一次是发送到用户…@MarcB我刚刚删除了ob_start(),但随后给了我一个错误警告:头可能不包含多个头,在download.php第6行检测到新行,“警告:无法修改头信息”和“警告:filesize():stat http://”失败…@MarcB发现了问题,但现在正在下载文件,而不是在浏览器中打开,并且由于某种原因,Downloaded文件名与url相同。解决了此问题,改为“内容处置”作为附件,我将其替换为“内容处置:内联”