2010-07-05 58 views
1

我正在使用FPDF庫通過PHP生成PDF文件。這個庫使用純文本(即爲任何文本生成PDF文件)正常工作,但是在嘗試將圖像添加到我的PDF頁面時,這給我一個錯誤FPDF error: Missing or incorrect image file:{MY_FILE_PATH}。通過瀏覽器訪問該文件路徑,然後相應的圖像顯示正常。FPDF錯誤:丟失或不正確的圖像文件

我的代碼是:

 
require('fpdf.php'); 

$pdf = new FPDF(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial', 'B', 16); 
$pdf->Write(10, 'Example image'); 
$image_path = MY_FILE_PATH; // This variable contains my actual file path 
$pdf->Image($image_path, 10, 10, 350, 450); 
$pdf->Output(); 

此代碼是在我的本地主機可以正常使用,甚至與圖像也產生相應的PDF文件,但這不是移動到服務器後工作。

我試圖與這些可能性,如:

  1. 隨着用於圖像的絕對和相對路徑。

  2. 嘗試與放置在同一文件夾中的本地圖像。

  3. 所有圖像格式,如jpg,png和gif也。

  4. 還檢查了圖像和相應文件夾的權限。

這些情況都沒有爲我工作,堅持這個問題,誰能幫我解決這個問題。

謝謝!

溼婆...

+0

您可以顯示您正在使用的示例路徑嗎? – 2010-07-05 07:25:21

+0

作爲示例,您可以採用http://www.desicomments.com/user/2008/03/7139/good.jpg的路徑。我們可以在FPDF中使用'/test.jpg'這樣的相對路徑嗎? – Siva 2010-07-05 07:46:18

+0

Pekka,感謝您的回覆,得到了這個問題的原因並解決了這個問題。 – Siva 2010-07-07 17:34:35

回答

3

長期鬥爭後,終於讓我找到了這個問題,我已經討論here的原因。

主要是這個問題是由於'allow_url_fopen'設置沒有爲我的服務器啓用,我已經通過使用CURL解決了這個問題。我正在一步一步地解決這個問題,因爲這可能對像我這樣的人有用,以避免浪費時間(尋找解決方案)。

 
1. Create a temporary file in the local system with write permission. 

Ex: $fp = @fopen($local_file_path, 'x'); 
    fclose($fp); 

2. Get the remote location file contents using CURL and write that to local file 
which is created in the previous step. 

Ex: $curl = new CurlWrapper($remote_file_path); 
    $curl->copyToFile($local_file_path); 

3. Now send this local file path to FPDF function(image) then the corresponding 
PDF will get generate for the file without any issues. 

我認爲這是解決這個問題的一種方法,如果有人知道一些其他的方式,那麼你可以在這裏發佈他們,所以,這個問題可能是爲別人有用。

1

只需添加:

了allow_url_fopen = ON

在php.ini文件(新建如果不存在的話)解決了這個問題。

http://www.solo-technology.com/blog/2010/04/07/quick-fix-for-url-file-access-is-disabled-issues/

+0

但是在這個過程中打開一個潛在的安全問題的世界...... – nickhar 2012-10-17 11:59:58

+1

@ user1638334,這導致我們在解決問題的過程中面臨安全威脅,正如Nickhar所說,所以我覺得以不同的方式解決這個問題更好例如:使用CURL)。 – Siva 2012-10-18 05:42:59

+0

爲何選票回落?我同意''allow_url_include'最好不要離開。但來自'allow_url_fopen'的安全威脅是什麼? PHP甚至默認它打開。 – ficuscr 2015-06-12 01:29:00

相關問題