Можно ли принудительно загрузить удаленный файл на PHP без его чтения в память? Я знаю, что fpassthru(), readfile(), file_get_contents() все считывает файлы в память перед выводом их в браузер.PHP принудительно загружает удаленный файл без чтения в память
Вот мой код:
if($url = getRemoteFileURL($file_id))
{
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="abc.zip"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Pragma: no-cache');
readfile($url); // is there a better function ?
}
Я не хочу, чтобы сделать заголовок («Location:»), потому что раскроет URL
Вы можете использовать выборочный выбор удаленного файла и вырезать фрагменты. Но для этого потребуется несколько HTTP-запросов из вашего скрипта и быть довольно неэффективным. –