I am trying to use dompdf to save a form to an easily-readable .pdf file, and my processing script is below. I am receiving the error 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
. (Line 39 is the final line in my full script.) I don’t know how to resolve this issue.
allow_url_fopen
is on, and I have tried all kinds of file paths, including the full directory (/home/username/public_html/subdir/files/grantapps/
) and what’s in the code below, but nothing worked.
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());
Advertisement
Answer
There is definitly a problem with the destination folder path.
Your above error message says, it wants to put the contents to a file in the directory /files/grantapps/
, which would be beyond your vhost
, but somewhere in the system (see the leading absolute slash )
You should double check:
- Is the directory
/home/username/public_html/files/grantapps/
really present. - Contains your loop and your file_put_contents-Statement the absolute path
/home/username/public_html/files/grantapps/