我正在尝试使用dompdf将表单保存到易于阅读的.pdf文件中,我的处理脚本如下所示。我收到错误Warning: file_put_contents(/files/grantapps/NAME0.pdf) [function.file-put-contents]: failed to open stream: No such file or directory in /home/username/public_html/subdir/apps/dompdf/filename.php on line 39
。 (第39行是我完整脚本中的最后一行。)我不知道如何解决这个问题。
allow_url_fopen
已启用,我尝试了各种文件路径,包括完整目录(/home/username/public_html/subdir/files/grantapps/
)以及下面代码中的内容,但没有任何效果。
require_once("dompdf_config.inc.php");
date_default_timezone_set('America/Detroit');
$html = 'code and whatnot is here';
$name = str_replace(" ", "", $_POST['form2name']);
$i = 0;
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
while(file_exists("files/grantapps/" . $name . $i . ".pdf")) {
$i++;
}
file_put_contents("files/grantapps/" . $name . $i . ".pdf", $dompdf->output());
答案 0 :(得分:32)
目标文件夹路径肯定存在问题。
您的上述错误消息显示,它希望将内容放入目录/files/grantapps/
中的文件,该文件将超出您的vhost
,但系统中的某个位置(请参阅前导绝对斜杠)
你应该仔细检查:
/home/username/public_html/files/grantapps/
是否真的存在。/home/username/public_html/files/grantapps/
答案 1 :(得分:5)
我也陷入了同样的问题,我遵循简单的步骤 - >
只需获取您要复制的文件的确切网址Ex->
http://www.test.com/test.txt (file to copy)
并传递具有文件名的确切绝对文件夹路径,您要在哪里写入该文件
1->如果你在Windows机器上那么
d:/xampp/htdocs/upload/test.txt
和
2->如果你在Linux机器上那么
/var/www/html/upload/test.txt
你可以通过PHP函数获取docuement根>>
$_SERVER['DOCUMENT_ROOT']