2011-04-20 36 views
3

我不會在實際構建PDF本身時突破或顯示冗長的代碼,因爲我知道文件生成工作正常。無法將文件保存到使用FPDF的目錄

當我嘗試以下方法:

$pdf->Output('abc.pdf', 'F'); 

我收到錯誤:

FPDF error: Unable to create output file: abc.pdf

通過改變輸出目的地 'd' 或 '我':

$pdf->Output('abc.pdf', 'D'); 

的提示用戶下載生成併成功完成的PDF(視圖正常)。該錯誤使我認爲這是一個權限錯誤,但fpdf應該有權將PDF文件寫入到正在發生的操作的目錄中。

有人處理過這個嗎?

+0

您試圖寫入PHP的目錄是否可寫入?它們不一定默認。 – 2011-04-20 21:42:20

+0

FPDF不需要寫授權,只能讀取才能執行。查看您的權限。 – 2011-04-20 21:43:30

+0

@Szymon:OP不執行fpdf,只是使用它,並試圖寫出用FDPF生成的PDF文件。因此,腳本必須具有寫入權限。 – 2011-04-20 21:47:25

回答

5

如果你的PHP腳本是從網頁執行(由Apache的服務,它是),那麼這段代碼將被由Apache (有時稱爲www-data用戶執行。

因此,您的Apache用戶需要能夠寫入您嘗試寫入的目錄。


通常情況下,你可能得給write權限爲other用戶在你的系統中,使用這樣的事情從一個命令行:

chmod o+w your_directory 


您使用的是軟件上傳你的源文件,如果這樣做使用GUI,應該允許你用一些chekbox來做 - 你需要檢查「其他」用戶的「寫」複選框。

+0

我目前使用的是一個非常基本的FTP上傳器,所以這是不可用的。我假設你正在談論改變fpdf.php文件使用'寫'特權? – JM4 2011-04-20 21:49:43

+0

不,我正在談論如何在腳本嘗試寫入的目錄上設置寫入權限。 – 2011-04-20 21:50:55

2

chmod o+w your_directory修復了我的問題:)

相關問題