/usr/local/bin/php -f /home/yyy/domains/zzzzz.ru/public_html/wp-content/uploads/2008/10/betaparsev2.php
Скрипт предназначен для парсинга, и он парсит но без картинок, а если вручную запускать то все нормально,
подскажите плиз в чем касяк....
Спустя 1 час, 8 минут, 2 секунды (28.10.2008 - 12:39) str_replace написал(а):
Есть 100% уверенность, что скрипт запускается?
Спустя 3 часа, 8 минут, 47 секунд (28.10.2008 - 15:48) silent_zzz написал(а):
Ну да я же говорю что он работает, только при парсинге не сохраняет картинку..
Спустя 6 минут, 4 секунды (28.10.2008 - 15:54) str_replace написал(а):
Я понял, что он РАБОТАЕТ, когда ты запускаешь его ВРУЧНУЮ.
А я спрашиваю другое: ты уверен, что крон запускает твой скрипт?
А я спрашиваю другое: ты уверен, что крон запускает твой скрипт?
Спустя 36 минут, 45 секунд (28.10.2008 - 16:30) silent_zzz написал(а):
Я думал я понятно написал)
Короче пред история, парсер записывает в бд некую текстовую инфу и картинку в директорию откуда же вызывается
Вручную он записывает и инфу и картинку
Кроном он записывает только инфу, но не записывает картинку
Короче пред история, парсер записывает в бд некую текстовую инфу и картинку в директорию откуда же вызывается
Вручную он записывает и инфу и картинку
Кроном он записывает только инфу, но не записывает картинку
Спустя 1 час, 19 минут, 53 секунды (28.10.2008 - 17:50) Sylex написал(а):
детально надо разбираться в твоем скрипте - как и что он делает.....
делай логи операций большинства действий и смотри
делай логи операций большинства действий и смотри
Спустя 5 минут, 29 секунд (28.10.2008 - 17:56) silent_zzz написал(а):
ну лог скажет к примеру файл не записан к примеру и все, только что это даст?
вот скриптек
вот скриптек
Код
set_time_limit(0);
for($s = 2;$s <= 10; $s++){
$site[$s] = $s;
$adres = file_get_contents('http://сайт_который_парсю.com/'.$site[$s]);
preg_match_all('|<h3><a.* href=(.*)>(.*)</a></h3>|U', $adres, $mathesname);
preg_match_all('/<p>(.*)<\/p>/',$adres,$mathesdesc);
preg_match_all('/\/images\/icons\/([0-9]+)\/([0-9]+\.jpg)/',$adres,$mathesimg);
preg_match_all('/price">(.*)<span class="cents">/',$adres,$mathesprise);
preg_match_all('/cents">(.*)<\/span>/',$adres,$cent);
preg_match_all('/<\/span><a.* href=(.*)>(.*)<\/a><\/div>/',$adres,$priselink);
preg_match_all('/category">(.*)<\/div>/',$adres,$mathescat);
$namearray = $mathesname[2];
$decsarray = $mathesdesc[1];
$id_cat = $mathesimg[1];
$id_icon = $mathesimg[2];
$prisearr = $mathesprise[1];
$prisecent = $cent[1];
$catarr = $mathescat[1];
$prlink = $priselink[1];
$date=date("Y-m-d h:i:s");
for($i=0,$ind=0;$i < count($namearray) && count($decsarray) && count($id_icon) && count($prisearr) && count($prisecent) && count($prlink) && count($catarr),$ind < 20;$i++,$ind++){
$val[$ind]=$ind;
$fh = fopen($id_icon[$i], 'w');
$img = file_get_contents('http://сайт_который_парсю.com/images/icons/'.$id_cat[$i].'/'.$id_icon[$i]);
$fw = fwrite($fh, $img);
if ($prisearr[$i]){
$prisearr[$i].='.';
}
mysql_query("INSERT INTO `wp_posts`
(`post_date`,`post_author`,`post_title`,`post_content`,`post_parent`)
VALUES ('".$date."',1,'".$namearray[$i]."','<img src=http://мой_сайт.ru/wp-content/uploads/2008/10/$id_icon[$i] hspace=10 align=left>$decsarray[$i]
<strong> цена: $prisearr[$i] $prisecent[$i] <a href=$prlink[$i]>купить</a></strong>','".$val[$ind]."');");
//тут условия типа
if (($catarr[$i])=='Photography'){
mysql_query("INSERT INTO `wp_term_relationships`
(`object_id`,`term_taxonomy_id`)
VALUES ('".mysql_insert_id()."',14);");
}
// категорий куча и поэтому код не много обрезаю
mysql_query("INSERT INTO `wp_term_relationships`
(`object_id`,`term_taxonomy_id`)
VALUES ('".mysql_insert_id()."',1);");
mysql_query("INSERT INTO `wp_posts`
(`post_date`,`post_author`,`post_title`,`post_parent`,`post_type`,`guid`,`post_mime_type`,`post_status`)
VALUES ('".$date."',1,'".$id_icon[$i]."','".$val[$ind]."','attachment','http://мой_сайт.ru/wp-content/uploads/2008/10/$id_icon[$i]','image/jpeg','inherit');");
fclose($fh);
}
}
for($s = 2;$s <= 10; $s++){
$site[$s] = $s;
$adres = file_get_contents('http://сайт_который_парсю.com/'.$site[$s]);
preg_match_all('|<h3><a.* href=(.*)>(.*)</a></h3>|U', $adres, $mathesname);
preg_match_all('/<p>(.*)<\/p>/',$adres,$mathesdesc);
preg_match_all('/\/images\/icons\/([0-9]+)\/([0-9]+\.jpg)/',$adres,$mathesimg);
preg_match_all('/price">(.*)<span class="cents">/',$adres,$mathesprise);
preg_match_all('/cents">(.*)<\/span>/',$adres,$cent);
preg_match_all('/<\/span><a.* href=(.*)>(.*)<\/a><\/div>/',$adres,$priselink);
preg_match_all('/category">(.*)<\/div>/',$adres,$mathescat);
$namearray = $mathesname[2];
$decsarray = $mathesdesc[1];
$id_cat = $mathesimg[1];
$id_icon = $mathesimg[2];
$prisearr = $mathesprise[1];
$prisecent = $cent[1];
$catarr = $mathescat[1];
$prlink = $priselink[1];
$date=date("Y-m-d h:i:s");
for($i=0,$ind=0;$i < count($namearray) && count($decsarray) && count($id_icon) && count($prisearr) && count($prisecent) && count($prlink) && count($catarr),$ind < 20;$i++,$ind++){
$val[$ind]=$ind;
$fh = fopen($id_icon[$i], 'w');
$img = file_get_contents('http://сайт_который_парсю.com/images/icons/'.$id_cat[$i].'/'.$id_icon[$i]);
$fw = fwrite($fh, $img);
if ($prisearr[$i]){
$prisearr[$i].='.';
}
mysql_query("INSERT INTO `wp_posts`
(`post_date`,`post_author`,`post_title`,`post_content`,`post_parent`)
VALUES ('".$date."',1,'".$namearray[$i]."','<img src=http://мой_сайт.ru/wp-content/uploads/2008/10/$id_icon[$i] hspace=10 align=left>$decsarray[$i]
<strong> цена: $prisearr[$i] $prisecent[$i] <a href=$prlink[$i]>купить</a></strong>','".$val[$ind]."');");
//тут условия типа
if (($catarr[$i])=='Photography'){
mysql_query("INSERT INTO `wp_term_relationships`
(`object_id`,`term_taxonomy_id`)
VALUES ('".mysql_insert_id()."',14);");
}
// категорий куча и поэтому код не много обрезаю
mysql_query("INSERT INTO `wp_term_relationships`
(`object_id`,`term_taxonomy_id`)
VALUES ('".mysql_insert_id()."',1);");
mysql_query("INSERT INTO `wp_posts`
(`post_date`,`post_author`,`post_title`,`post_parent`,`post_type`,`guid`,`post_mime_type`,`post_status`)
VALUES ('".$date."',1,'".$id_icon[$i]."','".$val[$ind]."','attachment','http://мой_сайт.ru/wp-content/uploads/2008/10/$id_icon[$i]','image/jpeg','inherit');");
fclose($fh);
}
}
Спустя 22 секунды (28.10.2008 - 17:56) md5 написал(а):
Цитата(silent_zzz @ 28.10.2008, 17:53) [snapback]53051[/snapback]
ну лог скажет к примеру файл не записан к примеру и все, только что это даст?
нам это ничего не даст
давать должно тебе
веди лог каждого действия, если где-то будет косяк — сразу сужается область дебаженья, можно пошагово посмотреть, что скрипт делает, что не получается сделать и в итоге, почему что-то не получается
http://phpfaq.ru/debug
Спустя 45 минут, 52 секунды (28.10.2008 - 18:42) Sylex написал(а):
кажется здесь:
Код
$fh = fopen($id_icon[$i], 'w');

Спустя 1 час, 33 минуты, 55 секунд (28.10.2008 - 20:16) silent_zzz написал(а):
Цитата(Sylex @ 28.10.2008, 15:42) [snapback]53055[/snapback]
кажется здесь:

Код
$fh = fopen($id_icon[$i], 'w');

Эмм... что? Подскажите=)
Спустя 12 минут, 34 секунды (28.10.2008 - 20:28) Sylex написал(а):
Цитата(silent_zzz @ 28.10.2008, 23:16) [snapback]53064[/snapback]
Цитата(Sylex @ 28.10.2008, 15:42) [snapback]53055[/snapback]
кажется здесь:

Код
$fh = fopen($id_icon[$i], 'w');

Эмм... что? Подскажите=)
нужно указывать полный абсолютный путь....
какая директория является текущей при запуске кроном? Точно ли директория где лежит скрипт?
И еще, от того пользователя, от которого запускается крон - должны быть права на запись в эту папку:)
Спустя 9 минут, 36 секунд (28.10.2008 - 20:38) silent_zzz написал(а):
Скрипт у меня запускается из той же директории где и лежат изображения, по этому такой путь.
Права на запись поставил.
Права на запись поставил.
Спустя 29 минут, 57 секунд (28.10.2008 - 21:08) Sylex написал(а):
Цитата(silent_zzz @ 28.10.2008, 23:38) [snapback]53068[/snapback]
Скрипт у меня запускается из той же директории где и лежат изображения, по этому такой путь.
Права на запись поставил.
Права на запись поставил.
http://www.st-hosting.ru/help/cron.php?media=print&
почитай внимательно...
я не уверен.... но мне сильно кажется что при запуске скрипта текущей не является та, в которой находится скрипт

попробуй в начале поставить:
Код
chdir(dirname(__FILE__));
Спустя 12 часов, 4 минуты, 48 секунд (29.10.2008 - 09:13) silent_zzz написал(а):
Цитата(Sylex @ 28.10.2008, 18:08) [snapback]53071[/snapback]
я не уверен.... но мне сильно кажется что при запуске скрипта текущей не является та, в которой находится скрипт 

Да кстати, спасибо, я ночью тоже об этом догадался перед сном) Сейчас попробую написать полный путь)
Спустя 1 час, 38 минут, 2 секунды (29.10.2008 - 10:51) silent_zzz написал(а):
Все работает, спасибо!