PHP скопировать часть удаленного файла - PullRequest
0 голосов
/ 06 ноября 2011

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

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 06 ноября 2011

Вы можете скопировать часть файла по HTTP, используя заголовки Range:, если сервер поддерживает это - но, вероятно, бесполезно для того, что вы хотите сделать.Вы могли получить только первую страницу PDF, если бы точно знали, какой кусок данных вы хотите (с точки зрения диапазона байтов), который вы не можете знать (или, по крайней мере, это было бы трудно решить), не имеявесь файл.

Предполагая, что вы знаете, как анализировать необработанный PDF, вы можете выполнить свою собственную процедуру HTTP-запроса, используя fsockopen() и fread() и т. д., анализировать данные по мере их получения исокета, как только у вас будет достаточно - чтобы вам не пришлось передавать весь файл.Этого довольно сложно достичь, но, вероятно, это можно сделать (хотя, возможно, PHP не является лучшим языком для этой задачи).

Но ни в одном протоколе не предусмотрено положение "только отправка"Я страница 1 ".

0 голосов
/ 06 ноября 2011

Есть ли способ скопировать только часть файла с веб-адреса в локальный рабочий каталог?

Теоретически да, есть возможность отправить заголовок Range, и сервер должен отвечать только запрошенным диапазоном байтов из файла.

Но в вашем случае это невозможно, вы не знаете, сколько байтов вам нужно, чтобы получить только первую страницу, и, кроме того, существует очень высокая вероятность того, что вы не сможете открыть / прочитать из неполного файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...