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());
宛先フォルダーのパスに間違いなく問題があります。
上記のエラーメッセージは、内容をディレクトリ/files/grantapps/
、これはvhost
を超えますが、システム内のどこかにあります(先頭の絶対スラッシュを参照)
あなたは再確認する必要があります:
/home/username/public_html/files/grantapps/
本当に存在します。/home/username/public_html/files/grantapps/
私も同じ種類の問題に巻き込まれ、簡単な手順に従います->
コピーしたいファイルの正確なURLを取得する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 function->によってドキュメントルートを取得できます。
$_SERVER['DOCUMENT_ROOT']
昨日この問題に出くわし、どうやってそれを解決したのかわかりませんが、ここに私が進めた方法があります。
私のパスは「/ tmp/transtel/importReleaseDisk /」で、エラーが発生しました。そのため、問題の解決を開始するために、メインの親ディレクトリにファイルを書き込んでから、さらに深くなりました。
file_put_contents("/tmp/aa.txt", "aaa");
file_put_contents("/tmp/transtel/aa.txt", "aaa");
file_put_contents("/tmp/transtel/importReleaseDisk/aa.txt", "aaa");
Idkの問題を解決した理由...
適切な権限があることを確認してください。 Phpは通常、権利がないために書くことができないが、あなたは決して知らないときにあなたに気づきます...