2012-06-01 41 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