PHP - захватить PDF с URL-адресом, который не имеет расширения .pdf

Я использую Filepicker.io для загрузки PDF-файлов в свое приложение. У меня есть все эти URL-адреса, и теперь я пытаюсь объединить некоторые из этих PDF-файлов с помощью PHP-библиотеки PDF Tool Kit. У меня это не сработало, поэтому я провел несколько тестов, используя «file_exists» на PHP, и он продолжал возвращать false.

Я думаю, это связано с тем, что URL-адрес не имеет расширения «.pdf» в конце. Вот как они выглядят: "https://www.filepicker.io/api/file/LCvbgpqEQLGwt8bfnqc1. "

Кто-нибудь знает, как я могу вытащить PDF-файл с помощью PHP, чтобы объединить эти файлы с помощью библиотеки PDF Toolkit?

Спасибо!

Ален Ф.


person criticerz    schedule 27.01.2013    source источник


Ответы (2)


file_exists не работает с URL-адресами, только с локальными файлами. Вместо этого загрузите файл во временный каталог с помощью команды copy.

Если файл не может быть загружен, команда копирования вернет false.

$exists = copy('https://www.filepicker.io/api/file/LCvbgpqEQLGwt8bfnqc1', '/tmp/example.pdf');
if (!$exists) throw new Exception("PDF could not be downloaded");

Используйте загруженный файл в PDF Tool Kit.

person Arnold Daniels    schedule 27.01.2013
comment
Объясните немного больше о том, что делает ваш код, нет никакой образовательной ценности в простом размещении фрагмента. - person Daryl Gill; 28.01.2013
comment
@DarylGill Ну вот :) - person Arnold Daniels; 28.01.2013

EDIT: Это не решает эту конкретную проблему, но устраняет теорию о том, что это не сработало, потому что «URL-адрес не имеет расширения «.pdf» в конце».

Вы можете добавить что-то в конец URL-адреса средства выбора файлов с завершающим +

Следующие URL эквивалентны:

https://www.filepicker.io/api/file/LCvbgpqEQLGwt8bfnqc1
https://www.filepicker.io/api/file/LCvbgpqEQLGwt8bfnqc1+name.pdf
person Liyan Chang    schedule 28.01.2013