PHP: автоматическое сохранение динамического PDF-файла на удаленном сервере с помощью DOMPDF

Я использую библиотеку dompdf для создания своего табличного PDF-файла, и я могу просмотреть его в Интернете или загрузить в папку пользователя по выбору.

Но то, что я хотел бы сделать, это сохранить его на удаленном сервере (мне не нужно, чтобы он был сохранен на ПК пользователя), как сценарий автоматической загрузки, который создал бы файл, а затем загрузил его на удаленный сервер, поэтому я затем может использовать его в моем приложении позже.

можно ли указать скрипт $_FILES["file"] , скажем так, получить php-страницу, которая создает PDF-файл, а затем загружает ее оттуда.


person Simon Davies    schedule 13.02.2013    source источник


Ответы (4)


Вы можете сделать одну вещь, как показано ниже, что я делаю для своего приложения. Сначала создайте папку на своем сервере, например, в корневом каталоге. Затем измените права на чтение и запись в эту папку с помощью команды chmod.

Затем получите весь код в строке $html.

$dompdf->load_html($html);    
$dompdf->render();
$pdf = $dompdf->output();
$file_location = $_SERVER['DOCUMENT_ROOT']."app_folder_name/pdfReports/".$pdf_name.".pdf";
file_put_contents($file_location,$pdf); 

Где pdfReports — это папка, которую я создал для сохранения всех PDF-файлов. Вы можете изменить имя папки.

person Venkata Krishna    schedule 13.02.2013
comment
Спасибо за это, file_put_contents сделал свое дело, теперь я работаю над своей простой страницей, чтобы заставить ее работать на моей более сложной динамической странице, но также спасибо Стефану, куфудо и Винсенту Келлехеру. - person Simon Davies; 13.02.2013
comment
мне просто нужно создать одну страницу, но таблица будет длинной, но, изучая использование PHPExcel для выполнения тяжелой работы, а затем используя dompdf для преобразования, что я делаю сейчас, мне просто нужно будет реализовать тот же код загрузки поля, и это все должно быть сделано. - person Simon Davies; 13.02.2013
comment
Вы можете поговорить 5 минут? - person Venkata Krishna; 13.02.2013
comment
давайте продолжим это обсуждение в чате - person Simon Davies; 13.02.2013

Цитата из руководства по PHP:

URL-адрес можно использовать в качестве имени файла с этой функцией, если включены оболочки fopen. См. fopen() для получения более подробной информации о том, как указать имя файла. См. Поддерживаемые протоколы и оболочки для получения ссылок на информацию о возможностях различных оболочек. , примечания по их использованию и информацию о любых предопределенных переменных, которые они могут предоставлять.

Источник: http://php.net/manual/en/function.file-put-contents.php

person Stephan    schedule 13.02.2013

Можно ли вместо этого создать PDF-файл непосредственно на сервере и позволить клиенту загрузить его, если он ему нужен? Если это так, вы можете использовать wkhtmltppdf для преобразования любой HTML-страницы в PDF на сервере и сохранения ее и/или передачи клиенту.

http://code.google.com/p/wkhtmltopdf/

person kufudo    schedule 13.02.2013

Разве вы не можете использовать FTP-функции PHP?

person Vincent Kelleher    schedule 13.02.2013