2011-10-31 34 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