Интересно, вы, ребята, придумали какие-нибудь потрясающие решения для моей проблемы? нормальный способ не работает!
Что ж, я пытаюсь принудительно загрузить любой файл на любом веб-сайте с помощью следующего сценария php. Я просто передаю? P = http://www.whatever.com/images/flowers/rose.jpg на мой URL и запросы на загрузку.
<?php
error_reporting(E_ALL);
if(isset($_GET['p'])) $path = $_GET['p'];
else echo "no path set!";
$file = $path;
//header('Location:' . $file); //works perfect, opens the file in the browser
//
header("Cache-Control: no-cache");
header("Expires: -1");
header("Content-Type: application/octet-stream;");
header("Content-Disposition: attachment; filename=\"" . basename($file) . "\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($file));
echo readfile($file);
?>
Однако, как я узнал сегодня, filesize () работает только с локальными файлами на моем сервере, а не с запросом http. То же самое относится и к readfile ()
Предупреждение: filesize () [function.filesize]: сбой статистики для
pathtofiles… / загрузчик / d.php на линии
15
Внимание:
ReadFile (sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs211.snc4/...)
[function.readfile]: не удалось открыть
поток: HTTP-запрос не выполнен! HTTP / 1.0
403 Запрещено в
pathtofiles… / загрузчик / d.php на линии
16
Интересно, есть ли творческие программисты, которые могут мне здесь помочь? Есть ли у меня шанс заставить этот сценарий работать? Я просто хочу принудительно загрузить любой файл и URL, который вы передаете.
спасибо заранее,
С уважением, Мэтт