Помогите разобрать скрипт.

Monster

Новичок
Помогите разобрать скрипт.

Вот скрипт, надо получить на свой сайт http://site.ru/file.avi

<?php

$url = $_GET['url'];

Мы получаем адрес, например так: скрипт.php?url=http://site.ru/file.avi

if (!$buf = file_get_contents($url))

Потом проверяем есть ли файл на сайте.

{print '(!) Не могу получить файл.'; exit;};

Если нет то так.
Если есть, то...

$filename = pathinfo($url);

Получаем информацию о пути к файлу, а также нужное нам название.

$filename = $filename['basename'];

Потом присваеваем название переменной.

$fp = fopen($filename,'wb');

Потом у себя на сайте создаём файл с таким же именем, как и скачиваемый, открываем его на запись.

fwrite($fp,$buf,strlen($buf));

Пишем в него файл с чужого сайта.

fclose($fp);

Закрываем.

print 'Принято: <b><u>'.strlen($buf).'</u></b> байт.';

Получаем сообщение.

unset($buf);

?>

Что, что не правильно? Почему файл не получается? Почему закрыты две мои темы, что тут не так?
 

SiMM

Новичок
http://phpfaq.ru/debug для начала. Ибо что значит "не работает" - нам неизвестно. Подозреваю конечно, что хостер забыл тебе выделить оперативы метров эдак на 700-800 ;)
 

WP

^_^
> $filename = pathinfo($url);
> $filename = $filename['basename'];
Зачот. $filename = basename($filename); или на худой конец $filename = pathinfo($filename,PATHINFO_BASENAME);
Читай не всё в память, а небольшими блоками через fread и записывай сразу в файл, например в tempnam(), а потом его копируй в нужное место когда все закончено, или сразу пиши куда надо если это не критично. Таким образом в памяти будет лишь небольшой кусочек (буфер), а твои терабайты сразу уйдут на жесткий диск.
 

SiMM

Новичок
WP, а это интимное дело PHP
bool [m]copy[/m] ( string source, string dest )
...
Начиная с PHP версии 4.3.0, оба параметра, source и dest, могут быть URL'ами, если были включены "упаковщики fopen".
Перевод, конечно, на высоте :)
 

betik

Новичок
на phpclasses.org был (и есть наверно) класс который поддерживает докачку....
Относительно жирный и рабочий. Там хорошие каменты.
 
Сверху