2012-06-01 43 views
0

我目前正在一个我没有亲自开发的网站上工作。这是基于wordpress的,但是外部人员已经做出了很多发展。人们正在从我的网站下载损坏的PDF文件

我们有一些pdf的问题。当人们下载这些pdf或甚至图像时,它们已损坏。我调查了为什么,并且通过用记事本打开文件,发现网页的html位于文档的开头。如果我删除这个html,pdf不会被破坏。

我知道问题是什么,但我似乎无法找到如何解决它。这里是“下载”按钮的html链接。

<a href="<?php echo get_bloginfo('url');?>/?download_process=<?php echo $_GET['dl'];?>" target="_blank" id="#downloadfile_atag" class="downloadfile_atag" style="display:none;">Download</a> 

当我点击这个按钮,页面刷新,并开始下载。

我发现在这行代码应该是采用醒目的“GET”照顾代码的一部分:

if (isset($_GET['download_process'])) { 

的代码在这个“如果”是一个有点超过100行而且我没有足够的经验知道该怎么做。我需要一些建议去看看。例如,有

ob_start(); 

开头和

ob_clean(); 

代码的中间。这是正常的,没有

ob_end_clean(); // or 
ob_end_flush(); 

或类似的东西?

或者可能是不是来自这个缓冲区。我应该检查什么样的指导?

或可能是它不从代码的那部分,如果是这样,我真的失去了......

不管怎么说,谢谢你提前为您解答。

Guillaume。

回答

0

在IF声明中有没有关于header();的任何内容,您没有向我们展示过?

如果是的话,是否有关于内容大小的任何内容? (这是我目前的工作,所以有几个想法)

$ fsize是下载内容的大小。

$fsize = filesize($fullPath); //this is the filename and path 
header("Content-Length: ".$fsize); //this tells the header how big it should be. 
+0

是的,有关于标题的内容。我似乎无法在评论中张贴足够多的字符,所以我只会发布另一个答案供您查看。 – user1430142

+0

这里是代码(没有找出如何发布它在一个更好的方式..) http://hpics.li/c600569 – user1430142

+0

好吧不适更新我的文章 – Adsy2010