PHP.SU

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

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

> Найдено сообщений: 23
belousov Отправлено: 09 Апреля, 2010 - 14:43:17 • Тема: помогите с массивом • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1096
Проверил еще, все работает!!! Спасибо огромное за помощь всем!
Но все таки, что не так было в моем коде? У меня все сложнее, но я учусь и надо начинать с более простого а потом уже усложнять.
belousov Отправлено: 09 Апреля, 2010 - 12:01:49 • Тема: помогите с массивом • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1096
просто это динамические данные которые попадают в массив в результате парсинга.
так сказать обрабатываю как есть, базу использовать не хочу.
(Добавление)
так вроде работает все, теперь осталось форму прикрутить.
Есть решение типа календаря? Что бы пользователь стал на дату и выбрал? Или может более удобное решение(совет)))?
PHP:
скопировать код в буфер обмена
  1. $sdate = '03.11.09 00:00';
  2. $date_elements  = explode('.', substr($sdate, 0, 8));
  3. $ssdate =  mktime(0,0,0,$date_elements[1],$date_elements[0],$date_elements[2]);
  4. $edate = '01.11.09 23:00';
  5. $date_elements2  = explode('.', substr($edate, 0, 8));
  6. $ss2date =  mktime(0,0,0,$date_elements2[1],$date_elements2[0],$date_elements2[2]);
  7. $count = 0;
  8. foreach($test2 as $key=>$val) {
  9. $mass = explode('.', substr($key, 0, 8));
  10. $ut = mktime(0,0,0,$mass[1],$mass[0],$mass[2]);
  11. if ($ut <= $ssdate && $ut >= $ss2date && ($pm = preg_match_all('#\blike\b#si', $val, $v)))  $count += $pm;
  12. }
  13. echo $count;
belousov Отправлено: 09 Апреля, 2010 - 11:36:34 • Тема: помогите с массивом • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1096
CenapaTop PHP Parse error: parse error in zp1.php on line 214
PHP:
скопировать код в буфер обмена
  1. if ($ut > time()-60*60*24*7 && ($pm = preg_match_all('#\blike\b#si', $val, $v))  $count += $pm;

Все нашел ($pm лишняя скобка.
Обьясните пожалуйста что такое "time()-60*60*24*7" здесь у меня по идее будет переменная введенная пользователем с даты - по дату.
В своем коде я хотел удалить все ключи больше указанной даты "с", потом все ключи меньше указанной даты "по", потом обработать все значения если в них есть like то некст иначе унсет. Только ничего не работает)))
belousov Отправлено: 08 Апреля, 2010 - 19:12:10 • Тема: помогите с массивом • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1096
Проверил 02.4.2010 и 02.04.10 выглядит одинаково.
Что тогда не так? Может неправильная функция сравнения?
belousov Отправлено: 08 Апреля, 2010 - 16:49:42 • Тема: помогите с массивом • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1096
Теперь еще больше запутался. Мне надо считать ключ массива (который является датой), преобразовать в юних дату и засунуть в массив? или преобразовать, сравнить и выполнить действия?
(Добавление)
не работает, точнее неправильно работает, насколько я понял потому что год "10" а не "2010". И месяц "04" а не просто "4".
PHP:
скопировать код в буфер обмена
  1. $sdate = '02.04.10';
  2. $date_elements  = explode(".",$sdate);
  3. $ssdate =  mktime(0,0,0,$date_elements[1],$date_elements[0],$date_elements[2]);
  4. while ($test5 = key($test2)) {
  5. $date_elements1  = explode(".",$test5);
  6. $ss1date = mktime(0,0,0,$date_elements1[1],$date_elements1[0],$date_elements1[2]);
  7.     if ($ssdate == "$ss1date") {
  8.         unset ($test2[$test5]);
  9.     }
  10.     next($test2);
  11. }
belousov Отправлено: 08 Апреля, 2010 - 15:01:15 • Тема: помогите с массивом • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1096
убрал время, теперь только дата, но он сравнивает как число, потому результат неправильный. Как можно сравнить его как дату?
PHP:
скопировать код в буфер обмена
  1. $sdate = '02.04.10';
  2. while ($test5 = key($test2)) {
  3.     if ($test5 <= "$sdate") {
  4.         echo key($test2).'<br />';
  5.     }
  6.     next($test2);
  7. }
belousov Отправлено: 07 Апреля, 2010 - 18:12:49 • Тема: помогите с массивом • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1096
Ну в том то и проблема что я не знаю как найти слово в массиве?
И как указать ключ строки если она не соответствует условию?
belousov Отправлено: 07 Апреля, 2010 - 17:53:52 • Тема: помогите с массивом • Форум: Программирование на PHP

Ответов: 17
Просмотров: 1096
как удалить из массива ключ и данные, если в данных отсутствует определенное слово еще и за определенный период.
массив выглядит так:
ключ:07.04.10 17:00
данные:текст и теги
в некоторых данных присутствует слово "like" .
Нужно убрать все данные которые не содержат это слово, для начала.
Задача вообще посчитать сколько слов "like" за семь дней, но пока только получилось все это собрать в массив.
belousov Отправлено: 24 Марта, 2010 - 18:18:31 • Тема: Помогите переписать скрипт для более ранней версии php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 659
Ну тогда если можно поподробнее, сервер у хостера FreeBSD 4.11-STABLE. С чего начать?
belousov Отправлено: 24 Марта, 2010 - 17:45:01 • Тема: Помогите переписать скрипт для более ранней версии php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 659
Хостер сказал что не могут поставить потому что система старая и что уже даже добавить чего-то проблема(((.
Так, что придется таки со скриптом что-то решать.
хотя что тут решишь если ему 5-й надо.
belousov Отправлено: 24 Марта, 2010 - 16:32:36 • Тема: Помогите переписать скрипт для более ранней версии php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 659
CURL support enabled
CURL Information libcurl/7.16.1 OpenSSL/0.9.7d zlib/1.1.4
свежее чем у меня, скрипт с просто curl работает, просто медленно, ну вот и нашел мульти запрос, получилось запустить у себя время выполнения на три секунды быстрее, просто скорость канала у меня 1mbps а на хостинге 100mbps. Вот и пытаюсь прикрутить его под старую версию.
Я думаю мне гемора меньше переписать скрипт чем хостеру обновится и переписать все сайты)))).
belousov Отправлено: 24 Марта, 2010 - 15:10:08 • Тема: Помогите переписать скрипт для более ранней версии php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 659
а двойное подчеркивание нужно?
PHP:
скопировать код в буфер обмена
  1. class ParallelGet
  2. {
  3.   function __ParallelGet($urls)

ничего не происходит.
PHP:
скопировать код в буфер обмена
  1. class ParallelGet
  2. {
  3.   function ParallelGet($urls)

на 5.2.5 работает а на 4.4.6:
PHP Fatal error: Call to undefined function: curl_multi_init()
насколько я понимаю он еще и с мульти не работает.
belousov Отправлено: 24 Марта, 2010 - 14:53:50 • Тема: Помогите переписать скрипт для более ранней версии php • Форум: Программирование на PHP

Ответов: 11
Просмотров: 659
есть в инете такой вот пример curl_multi
PHP:
скопировать код в буфер обмена
  1. $s = microtime(true);
  2. // Define the URLs
  3. $urls = array(
  4.   "http://www.google.com"
  5.     );
  6. $pg = new ParallelGet($urls);
  7. print "<br />total time: ".round(microtime(true) - $s, 4)." seconds";
  8.  
  9. // Class to run parallel GET requests and return the transfer
  10. class ParallelGet
  11. {
  12.   function __construct($urls)
  13.   {
  14.     // Create get requests for each URL
  15.     $mh = curl_multi_init();
  16.     foreach($urls as $i => $url)
  17.     {
  18.       $ch[$i] = curl_init($url);
  19.       curl_setopt($ch[$i], CURLOPT_RETURNTRANSFER, 1);
  20.       curl_multi_add_handle($mh, $ch[$i]);
  21.     }
  22.  
  23.     // Start performing the request
  24.     do {
  25.         $execReturnValue = curl_multi_exec($mh, $runningHandles);
  26.     } while ($execReturnValue == CURLM_CALL_MULTI_PERFORM);
  27.     // Loop and continue processing the request
  28.     while ($runningHandles && $execReturnValue == CURLM_OK) {
  29.       // Wait forever for network
  30.       $numberReady = curl_multi_select($mh);
  31.       if ($numberReady != -1) {
  32.         // Pull in any new data, or at least handle timeouts
  33.         do {
  34.           $execReturnValue = curl_multi_exec($mh, $runningHandles);
  35.         } while ($execReturnValue == CURLM_CALL_MULTI_PERFORM);
  36.       }
  37.     }
  38.  
  39.     // Check for any errors
  40.     if ($execReturnValue != CURLM_OK) {
  41.       trigger_error("Curl multi read error $execReturnValue\n", E_USER_WARNING);
  42.     }
  43.  
  44.     // Extract the content
  45.     foreach($urls as $i => $url)
  46.     {
  47.       // Check for errors
  48.       $curlError = curl_error($ch[$i]);
  49.       if($curlError == "") {
  50.         $res[$i] = curl_multi_getcontent($ch[$i]);
  51.       } else {
  52.         print "Curl error on handle $i: $curlError\n";
  53.       }
  54.       // Remove and close the handle
  55.       curl_multi_remove_handle($mh, $ch[$i]);
  56.       curl_close($ch[$i]);
  57.     }
  58.     // Clean up the curl_multi handle
  59.     curl_multi_close($mh);
  60.    
  61.     // Print the response data

Насколько я понимаю проблема в __construct . Можно что-то с этим кодом сделать?
На хостинге ошибок не выдает но и выполнятся не хочет.
php v4.4.6, Zend Engine v1.3.0
belousov Отправлено: 19 Марта, 2010 - 16:31:04 • Тема: парсинг результата в переменной • Форум: Регулярные выражения

Ответов: 20
Просмотров: 1064
PHP:
скопировать код в буфер обмена
  1. for ($i=0; $i<=10; $i++)
  2. {
  3. echo "$value";
  4. }

явно не правильно, но не могу сообразить оно повторяет каждое значение десять раз)), а мне надо что бы все значения видало в одной ячейке таблицы.
по логике:
PHP:
скопировать код в буфер обмена
  1. echo "<table><tr><td>". "$value"
  2. echo "</td></tr></table>"
  3.  
belousov Отправлено: 19 Марта, 2010 - 15:07:34 • Тема: парсинг результата в переменной • Форум: Регулярные выражения

Ответов: 20
Просмотров: 1064
Получилось вот так:
PHP:
скопировать код в буфер обмена
  1. foreach($matches28[0] as $key => $value)
  2.   {
  3.      echo "$value";
  4.   }


а если вставить в html табличку то выводит только последнее значение.
Вставляю так:
CODE (html):
скопировать код в буфер обмена
  1. <table>
  2. <tr>
  3. <td>
  4. <?php echo "$value"; ?>
  5. </td>
  6. </tr>
  7. </table>

Может неправильно вставляю? И почему последнее? Мне везет если не только первое то последнее)))).

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB