Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: обработка в несколько этапов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
gefard
Отправлено: 18 Марта, 2012 - 13:45:24
Post Id



Гость


Покинул форум
Сообщений всего: 64
Дата рег-ции: Март 2012  


Помог: 1 раз(а)




сделал скрипт который удаляет ссылки из базы если адресс не доступен, но обработать большую базу он не может (времени не хватает), решил обрабатывать по частям
получилось вот ето
CODE (htmlphp):
скопировать код в буфер обмена
  1.                 function link_delbit($page) {
  2.         global $admin_file;
  3.                 include ("header.php");
  4.                 GraphicAdmin();
  5.                
  6.                         $result = $db->sql_query("SELECT count(*) as cnt FROM ".$prefix."_linkurl");
  7. while ($row = $db->sql_fetchrow($result)) {
  8. $a = $row['cnt'];
  9.    $pages = $a/ 50;
  10. }      
  11. $start = $page * 50;
  12. $end = $start + 50;
  13. $s =    $page + 1;     
  14.  
  15.                 $result = $db->sql_query("SELECT url FROM ".$prefix."_linkurl ORDER BY uid DESC LIMIT $start  ,$end");
  16. while ($row = $db->sql_fetchrow($result)) {
  17. $a_url = $row['url'];
  18. $url2 = parse_url($a_url);
  19.  
  20.   $host = $url2['host'];
  21.   $path = $url2['path'];
  22.  
  23. $fp = fsockopen($host, 80);
  24. if (!$fp) {
  25.  echo 'Удален '.$a_url.': Сервер ', $host, ' не отвечает<br><br>';
  26.  $db->sql_query("delete from ".$prefix."_linkurl where url=$a_url");
  27. } else {
  28.  fputs ($fp, "GET ".$path." HTTP/1.0\r\nHost: ".$host."\r\n\r\n");
  29.  $response = fgets($fp, 1024);
  30.  fclose ($fp);
  31.  $words = explode (' ', $response);
  32.  $code = (int) $words[1];
  33.  switch ($code) {
  34.  case 200:
  35.  echo 'Ресурс ', $host, $path ,' доступен<br><br>';
  36.  break;
  37.  case 404:
  38.  echo 'Удален '.$a_url.': Ресурс ', $host, $path ,' не найден<br><br>';
  39.  $db->sql_query("delete from ".$prefix."_linkurl where url=$a_url");
  40.  break;
  41.  }
  42. } fclose ($a_url);}
  43. if ($pages>$page) {
  44. Header("Location: ".$admin_file.".php?op=link_delbit&page=$s");
  45. } elseif ($pages==$page) {
  46. Header("Location: ".$admin_file.".php?op=link_editor");
  47. }
  48.                 include("footer.php");
  49.         }
  50.        

но результата никагого не дало? искажите плиз где мои ошибки и как разбить обработку на несколько этапов?
 
 Top
Bio man
Отправлено: 18 Марта, 2012 - 13:51:10
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




зачем? используй подготовленные запросы. MySQL долго выбирает, гораздо быстрее записывает.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB