file_put_contents:未能打开流,没有这样的文件或目录(file_put_conten

2019-07-19 16:05发布

我想使用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());

Answer 1:

有definitly与目标文件夹路径的问题。

你上面的错误消息说,它希望把内容在目录中的文件/files/grantapps/ ,这将是超出你的vhost ,但无一例外系统(见领导绝对斜线)

你应该仔细检查。

  • 在目录/home/username/public_html/files/grantapps/真的存在。
  • 包含你的循环,你的file_put_contents-声明的绝对路径/home/username/public_html/files/grantapps/


Answer 2:

我也卡在了同样的问题,我按照简单的步骤 - >

刚刚得到的文件的准确网址,其中U要复制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

和u可以通过PHP功能 - 让docuement根>

$_SERVER['DOCUMENT_ROOT']


文章来源: file_put_contents: Failed to open stream, no such file or directory
标签: php dompdf