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