Новичок
Профиль
Группа: Участник
Сообщений: 16
Регистрация: 20.7.2009
Репутация: нет Всего: нет
|
Есть дам размером 1 гб Новости с одного сайта, задача перенести новости с одно на другой сайт с картинками с свасем Написал скрипт парсер но при копировании картинок из 5 картинок сохраняеться коректно только одна! Как добиться 100% результата Ниже КОд/ Процесс копирования картинки Второый Цикл! Такое ощющение что скрипт не успевает сохранить файл записать контент а тут уже пуствой файл подвхватывает ресайз. Как узнать записан ли файл на 100% или можно иным путём Спасибо! Спасибо! Код | <?php error_reporting(0); set_time_limit(99999); $str = file_get_contents("dump.php"); $xml = simplexml_load_string($str); include("engine/lib/a.charset.php"); include("engine/lib/img.php"); include_once("engine/classes/mysql.php"); $DB = new DB; $DB->connect(); for($i=0;$i<sizeof($xml->News);$i++) { $title = charset_x_win(iconv("UTF-8","windows-1251",$xml->News[$i]->chrTitle)); $text = charset_x_win(iconv("UTF-8","windows-1251",$xml->News[$i]->txtAnnounce)); $all_text = charset_x_win(iconv("UTF-8","windows-1251",$xml->News[$i]->txtBody)); preg_match_all( "#src=(.+?)[\"\'\s]#i" , $text.$all_text , $matches , PREG_PATTERN_ORDER ); $uploaddir = 'i/news/'; print "<hr>".$title."<hr>"; $imgname = uniqid().".jpg"; $img = file_get_contents($xml->News[$i]->chrSmallImage); file_put_contents($uploaddir.$imgname,$img); $im=imagecreatefromjpeg($uploaddir.$imgname); $width = imagesx($im); $h= imagesy($im); imageresize($uploaddir."big/thumb_big_".$imgname,$uploaddir.$imgname,$width,$h,90); imageresize($uploaddir."small/thumb_small_".$imgname,$uploaddir.$imgname,75,64,90); $avatar = $imgname; $sql = "INSERT INTO content (`title`,`text`,`all_text`,`pub_date`,`state`,`type`,`hits`,`section_id`,`img_small`) VALUES('".addslashes(strip_tags($title))."','".addslashes(strip_tags($text))."','".addslashes(strip_tags($all_text,"<b>,<br>,<p>"))."','".$xml->News[$i]->dtCreated."',1,1,0,1195162581,'$imgname');"; mysql_query($sql) or die(mysql_error()); $news_id = mysql_insert_id(); $sql = "INSERT INTO news_images (`news_id`,`img`,`avatar`) VALUES($news_id,'$avatar',1)"; mysql_query($sql); for($j=0;$j<sizeof($matches[0]);$j++) { $foto = str_replace(Array("src=",'"'),"",$matches[0][$j])."<br>"; $foto = explode("=",$foto); $imgname = uniqid().".jpg"; $img = file_get_contents(strip_tags($foto[4])); file_put_contents($uploaddir.$imgname,$img); if (strlen($img) == file_get_contents($uploaddir.$imgname)) { $im=imagecreatefromjpeg($uploaddir.$imgname); $width = imagesx($im); $h= imagesy($im); imageresize($uploaddir."big/thumb_big_".$imgname,$uploaddir.$imgname,$width,$h,90); if ($width < 120) imageresize($uploaddir."small/thumb_small_".$imgname,$uploaddir.$imgname,$width,81,90); else imageresize($uploaddir."small/thumb_small_".$imgname,$uploaddir.$imgname,120,81,90);
if ($h < 81) imageresize($uploaddir."small/thumb_small_".$imgname,$uploaddir.$imgname,$width,$h,90); else imageresize($uploaddir."small/thumb_small_".$imgname,$uploaddir.$imgname,120,81,90); $sql = "INSERT INTO news_images (`news_id`,`img`,`avatar`) VALUES($news_id,'$imgname',0)"; mysql_query($sql); } } } ?>
|
Это сообщение отредактировал(а) Молоток2 - 20.8.2009, 11:38
|