0
我的一個PHP腳本將數據寫入文件。它正在執行沒有問題。但是這就要求以同樣的方式和(對於試圖清理這個問題的目的)位於同一目錄中相同的方式,我的測試代碼報告的是:PHP - 寫入文件 - 權限被拒絕的一個腳本,但不是在同一目錄中的另一個
failed to open stream: Permission denied
錯誤。
我正確地執行腳本是:
try {
$printer = new PDFPrinter();
$FDFData = $printer->assembleFDFData(5);
$fdf_file = $printer->writeFDFFile($FDFData);
$printer->downloadForm($fdf_file);
}catch(Exception $e) {
echo $e->getMessage();
}
和我的測試代碼:
function setUp() {
$this->printer = new PDFPrinter();
$this->FDFData = $this->printer->assembleFDFData(5);
}
function testWrite() {
try {
$this->printer->writeFDFFile($this->FDFData);
$this-assertTrue(true);
} catch(Exception $e) {
$this->assertTrue(false);
}
}
我知道testWrite測試代碼是壞的,但我只想得到它停止拋首先是例外。
腳本在執行writeFDFFile($this->FDFData);
方法時會拋出異常,因爲它會嘗試打開要寫入的文件。這是失敗的代碼:
$fp=fopen($fdf_file,'w')
我不明白兩個文件具有相同的權限相同的目錄如何執行相同的代碼時,可以不同的方式工作。
我會做什麼錯?
非常感謝
'$ fp = fopen($ fdf_file,'w')'與上面的代碼有什麼關係? –
嗨。對不起,如果這不清楚,我已編輯我的帖子,以顯示fopen代碼是writePDFFile()方法的一部分。 – Joe