Próbuję użyć dompdf, aby zapisać formularz w łatwo czytelnym pliku .pdf, a mój skrypt przetwarzania znajduje się poniżej. Otrzymuję komunikat o błędzie 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
. (Linia 39 to ostatnia linia w moim pełnym skrypcie). Nie wiem, jak rozwiązać ten problem.file_put_contents: Nie udało się otworzyć strumienia, żadnego takiego pliku ani katalogu
allow_url_fopen
jest włączony i próbowałem wszystkich rodzajów ścieżek plików, w tym pełnego katalogu (/home/username/public_html/subdir/files/grantapps/
) i tego, co jest w kodzie poniżej, ale nic nie działało.
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());
Dlaczego pętla while? – luckystars
Użytkownik może przesłać formularz wiele razy, a ponieważ używam jego nazwy jako nazwy pliku, chciałem, aby po prostu dopisał numer do końca i zapisał każdy plik z nową nazwą pliku, zamiast nadpisywać istniejący plik . – vaindil
dlaczego nie używać $ dompdf-> stream ("pliki/grantapps /". $ Nazwa. $ I. ".pdf"); – luckystars