2011-10-31 79 views
0

我有一個運行此命令PHP腳本:與PHP運行pdftohtml - 無法找到生成的HTML文件

system("pdftohtml -i -noframes /home/myacc/pdfs/test.pdf"); 

當我運行這個從內部的public_html,成功地創建了一個名爲HTML文件test.html的並放置在public_html文件夾中。但是,當我從public_html之外的cron作業運行時,服務器上的任何文件夾中都沒有創建html文件。

任何人都可以幫助我找到HTML文件將在哪裏?

謝謝。

+0

編號 - PHP腳本是否有權限寫入當前目錄?檢查了error.log呢?你爲什麼不指定*輸出文件名? – mario

+0

您可以做的最簡單的事情就是映射您的服務器(如果您使用Windows 7,則使用內置選項,否則使用netdrive),然後您可以搜索服務器中的文件,就像搜索本地驅動器中的文件一樣。 無論如何,我建議你發佈全部 - 大多數時候,它有助於解決問題 – 2011-10-31 14:27:55

+0

@mario據我所知,我不能_specify_使用pdftohtml輸出文件名 - 它會始終輸出html文件在工作目錄中。問題是如果腳本作爲cron作業運行,工作目錄在哪裏?我檢查了權限,他們沒事,並且沒有創建錯誤日誌,所以它必須在某個地方。 – SammyBlackBaron

回答

1

問題在於cronjob如何工作。嘗試將絕對位置用於pdftohtml。

另外,從您的評論中,您不能更改pdftohtml如何編寫輸出。然而,解決這個問題有一個技巧。這是通過使用自定義外殼腳本:

#!/bin/bash 
cd /path/to/output/ 
/path/to/pdftohtml -i -noframes /home/myacc/pdfs/test.pdf 
+0

感謝您的回覆。我理解的邏輯是將目錄更改爲輸出路徑,但是您能否闡明我如何在PHP腳本中執行此操作?我可以這樣做嗎:'system(「cd/path/to/output /」)'? – SammyBlackBaron

+0

嗯......如果你堅持使用system(),我認爲正確的方法是:'system(「cd/path/to/output /;/path/to/pdftohtml -i -noframes/home/myacc /pdfs/test.pdf「);' – ariefbayu

+0

Hooray!非常感謝 - 這個伎倆! – SammyBlackBaron