Xwab
Форумыnavigate_nextПрограммирование на PHP

Написание парсера
Сообщения
termenal

Приет форумчане, извените за столь глупый вопрос и мой велосипед. Вообщем я стараюсь научиться писать парсер, и загвоздка в том что не получается скопировать файл к себе на сервер. Читал за функцию copy(), но к сажелению так ничего и не получается, уже на протяжении нескольких дней((. Помогите если не затруднит, желатель с комментариями. Заранее спасибо.

<?php
$a = 129;
$f=file_get_contents("http://xxx.siza.us/item/view/$a");
// Проход по разделу
while ($a < 7253)
{
$d=preg_replace('#<a href="http://load.xxx.siza.us/video/(.*).flv#U','',$d);
// Поиск ссылки на файл

$dfile=fopen("files/test.3gp","a");

fwrite($dfile, "$d\n");

fclose($dfile);


$a ++;
}
?>

29 Сен 2010, 20:17
Fashion

показывай как делал

29 Сен 2010, 20:19
termenal

Fashion, $f=file_get_contents("http://xxx.siza.us/item/view/$a");
// Зашол допустим на эту страницу http://xxx.siza.us/item/view/7253

$d=preg_replace('#<a href="http://load.xxx.siza.us/video/(.*).flv#U','',$d);
// нашол ссылкуна файл

$dfile=fopen("files/test.3gp","a");
// test.3gp - это пробный вариант сохранения хотя бы одного файла
fwrite($dfile, "$d\n");

fclose($dfile);

// ну и вроде как постарался сохранить файл по найденной ссылки.

А вообще по мимо этого методом тыка уже попробывал всёё что пришло в голову...

29 Сен 2010, 20:28
termenal

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

29 Сен 2010, 20:32
Кипяток

в блогe aйсмaнa чти,и у ихмaнa спроси дaй нa пиво обьяснит

29 Сен 2010, 20:36
Fashion

termenal, я про copy

29 Сен 2010, 20:40
termenal

Fashion, /* Проверяем есть ли у нас папка где находится файл */
if(!is_dir(dirname($get['Location']))) {

/*Если - нет, то создаем  */
mkdir(dirname($get['Location']), 0777, true);

}

/*Проверяем, есть ли у нас уже такой файл */
if(!file_exists($get['Location'])) {

/* Если нету, то копируем.*/
copy('http://load.xxx.siza.us/'.$get['Location'], $get['Location']);

}

}

29 Сен 2010, 20:47
Fashion

termenal, что в $get ?

29 Сен 2010, 20:49
termenal

Так думаю проще


<?php

error_reporting(E_ALL);
set_time_limit(0);


for($i = 1; $i <= 28926; $i++) {

$get = get_headers('http://xxx.siza.us/item/view/'.$i, 1);

/* Проверяем есть ли у нас папка где находится файл */
if(!is_dir(dirname($get['Location']))) {

/*Если - нет, то создаем  */
mkdir(dirname($get['Location']), 0777, true);

}

/*Проверяем, есть ли у нас уже такой файл */
if(!file_exists($get['Location'])) {

/* Если нету, то копируем.*/
copy('http://load.xxx.siza.us'.$get['Location'], $get['Location']);

}

}


?>

29 Сен 2010, 20:59
Fashion

эм... в get_headers нету ячейки с ключем Location

29 Сен 2010, 21:02
Ответить на тему