Intereting Posts
PHP песочница / дезинфицировать код, переданный create_function Как я могу написать доступный класс во всем проекте? Поиск нескольких URL-адресов в строке. Есть ли способ отправить параметры в функцию обратного вызова, не создавая сначала мою собственную функцию? Как мне создать sms-сервис? Загрузите на свой Google Дисковод с помощью php Форма PHP session_start (): не удается отправить ограничитель кеша сеанса Получите все подписки WooCommerce Smarty выводит пустую страницу получение широты и долготы из кода PIN с использованием PHP Сочетание нескольких таблиц базы данных? Публикация журнала подачи для других пользователей отключена для этого приложения Как добавить прослушиватель событий в динамически добавленное поле с помощью Symfony Forms композитор работает везде, кроме одного проекта Как избежать перенаправления страницы Reload Resend-Data с помощью PHP

Как использовать мой сервер в качестве прокси для загрузки файлов через PHP?

Мне нужен мой сервер, чтобы выступать в качестве прокси-сервера между сторонним сервером (где первоначально находится файл) и конечным пользователем. То есть мой сервер загружает файл с стороннего сервера, и, последовательно, пользователь загружает его с моего сервера. Это должно привести к появлению полосы пропускания в два раза больше размера файла. Как этот процесс может быть достигнут с помощью PHP?

Очень просто:

$url = $_GET['file']; $path_parts = pathinfo($url); $ext = $path_parts['extension']; $filename = $path_parts['filename']; header("Content-type: application/$ext"); header("Content-Disposition: attachment; filename=$filename"); echo file_get_contents($url); 

Если файл превышает несколько мегабайт, используйте fopen fread и frwrite загрузите файл в куски и отправьте клиенту куски.

  $fp = fopen($url, 'rb'); foreach (get_headers($url) as $header) { header($header); } fpassthru($fp); exit; 

Это просто загрузит удаленный файл в браузер с правильными заголовками.