PHP.SU

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

Страниц (304): В начало « ... 258 259 260 261 [262] 263 264 265 266 ... » В конец

> Найдено сообщений: 4551
Viper Отправлено: 10 Февраля, 2010 - 12:31:24 • Тема: Что не так с регуляркой? • Форум: Регулярные выражения

Ответов: 11
Просмотров: 530
ну это не совсем строка, это я уже привел её к такому виду. вообще это документ
к примеру http://www[dot]imdb[dot]com/title/tt1055369/fullcredits получаю отсюда сырец. далее мне нужно получить "Writing credits", "Cast" и т.д. т.е. имена и фамилии без тегов html. собственно порезать документ на нужные части не составляет труда. проблема с отсеиванием нужных строк.
Viper Отправлено: 10 Февраля, 2010 - 11:29:41 • Тема: Что не так с регуляркой? • Форум: Регулярные выражения

Ответов: 11
Просмотров: 530
Champion спсб! получилось. и вопрос в продолжение... если к примеру строка вида

CODE (html):
скопировать код в буфер обмена
  1. </h5><small> (<a href="/wga">WGA</a>)</small></td></tr><tr><td valign="top"><a href="/name/nm0472567/"></a></td><td>&nbsp;</td><td valign="top">(written by) & </td></tr><tr><td valign="top"><a href="/name/nm0649460/">Roberto Orci</a></td><td>&nbsp;</td><td valign="top">(written by) & </td></tr><tr><td valign="top"><a href="/name/nm0476064/">Alex Kurtzman</a></td><td>&nbsp;</td><td valign="top">(written by


т.е. можно ли выбрать все имена до определенного символа(ов к примеру ")<br>")
preg_match('@<a href="/name/nm\d{1,8}/">(.*)</a>@isU', $hit[1], $s);
он выведет только первое, что и понятно. как указать ему что "продолжить поиск" дальше "до"...
Viper Отправлено: 10 Февраля, 2010 - 07:50:42 • Тема: Подскажите как исправить ошибку • Форум: Программирование на PHP

Ответов: 4
Просмотров: 326
забыли закрывающюю фигурную скобку
Viper Отправлено: 10 Февраля, 2010 - 07:50:09 • Тема: курс валют • Форум: Работа с сетью

Ответов: 9
Просмотров: 4518
ну например с rbc.ru или finance.ua(для Ураины).
Viper Отправлено: 10 Февраля, 2010 - 07:48:42 • Тема: Что не так с регуляркой? • Форум: Регулярные выражения

Ответов: 11
Просмотров: 530
PHP:
скопировать код в буфер обмена
  1. preg_match('@<td class="nm"><a href="/name/nm\d{1,8}/">bullet</a></td>@i',$s,$results);

результата 0
Viper Отправлено: 09 Февраля, 2010 - 16:13:13 • Тема: Что не так с регуляркой? • Форум: Регулярные выражения

Ответов: 11
Просмотров: 530
Champion пишет:
В скобки возьми. Ты число \d{1,8} вот это выдрать патылся?

не совсем. мне текст bullet нужен.
Viper Отправлено: 09 Февраля, 2010 - 14:14:41 • Тема: Что не так с регуляркой? • Форум: Регулярные выражения

Ответов: 11
Просмотров: 530
есть такое
CODE (html):
скопировать код в буфер обмена
  1. <td class="nm"><a href="/name/nm0347797/" onclick="(new Image()).src='/rg/castlist/position-1/images/b.gif?link=/name/nm0347797/';">bullet</a></td>

после
PHP:
скопировать код в буфер обмена
  1. preg_match('/<table class="cast">(.+)<\/table>/', $f, $hit);

получаем такое
CODE (html):
скопировать код в буфер обмена
  1. <td class="nm"><a href="/name/nm0347797/">bullet</a></td>

после
PHP:
скопировать код в буфер обмена
  1. preg_match('/<td class="nm"><a href="\/name\/nm\d{1,8}\/">bullet<\/a><\/td>/i',$s,$results);

получаем трехпальцевую фигуру... В чем затык?
Viper Отправлено: 09 Февраля, 2010 - 12:37:36 • Тема: Подключение сторонней библиотеки на С++ • Форум: Программирование на PHP

Ответов: 8
Просмотров: 1290
залить в папку extension(по умолчанию) и в php.ini
extension=php_my_ext.so

вроде так.
Viper Отправлено: 09 Февраля, 2010 - 10:03:28 • Тема: Упростить цикл и... • Форум: Программирование на PHP

Ответов: 0
Просмотров: 184
Задача такова.
Есть таблица статистики stats с полями gid, grole, gstats.
Есть вторая таблица personal с полями id, role, published
Есть кнопка "Публиковать/Снять с публикации".
Поле role содержит записи вида "старший манагер, дворник, собутыльник по совместительству"
И есть такой код

PHP:
скопировать код в буфер обмена
  1. if (!is_array( $cid ) || count( $cid ) < 1) {
  2.         $action = $publish ? 'archive' : 'unpublish';
  3.         echo "<script> alert('Выберите объект для $action'); window.history.go(-1);</script>\n";
  4.         exit;
  5. }
  6.  
  7. $cids = implode( ',', $cid );
  8. $database->setQuery( "UPDATE `#__personal` SET `published` = '$publish' WHERE id IN ($cids)" );
  9. if (!$database->query()) {
  10.         echo "<script> alert('".$database->getErrorMsg()."'); window.history.go(-1); </script>\n";
  11.         exit();
  12. }
  13. $database->setQuery( "SELECT `role` FROM `#__personal` WHERE `id` IN ($cids)" );
  14. $rows = $database->loadObjectList();
  15. foreach ($rows as $row) {
  16.         $g = explode(', ', $row->role);
  17.         foreach ($g as $gen) {
  18.                 $database->setQuery("SELECT `gid` FROM `#__stats` WHERE `grole` LIKE '%$gen%'");
  19.                 $id = $database->loadResult();
  20.                 if ($publish == 1) {
  21.                         $database->setQuery("UPDATE `#__stats` SET `g_stats` = `g_stats`+1 WHERE `g_id` = '".(int)$id."'");
  22.                         $database->query();
  23.                 } else {
  24.                         $database->setQuery("UPDATE `#__stats` SET `g_stats` = `g_stats`-1 WHERE `g_id` = '".(int)$id."'");
  25.                         $database->query();
  26.                 }
  27.         }
  28. }


можно ли как-то упростить не переделывая структуру БД данный код. Учитывая что записей отмеченных к публикации или снятию может быть до 50 штук(т.е. пир таком виде как сейчас это примеро 50*3 запросов к бд).
Viper Отправлено: 04 Февраля, 2010 - 12:44:34 • Тема: Алфавитный указатель • Форум: Программирование на PHP

Ответов: 10
Просмотров: 552
leshiy_SV и зачем изобретать велосипед и городить ненужные конструкции?
Viper Отправлено: 03 Февраля, 2010 - 15:59:55 • Тема: Выбор записей из таблицы Mysql случайно • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 93
mshdn для начала если записей много нужно указывать вместо * названия полей. и... таблица с индексами?
Viper Отправлено: 03 Февраля, 2010 - 15:35:05 • Тема: Алфавитный указатель • Форум: Программирование на PHP

Ответов: 10
Просмотров: 552
leshiy_SV пишет:
это кажется будет выбирать тех авторов, в которых встречается эта буква, даже если она будет в середине фамилии, это так? если так то это не есть для меня хорошо


вы не правы.
а% найдет все записи начинающиеся на букву а

и ещё... в первом куске кода $sorting = trim($_REQUEST, 'sorting', '');

не правильно ) эт у мну с другой функцией работает так. вам нужно будет просто $sorting = trim($_REQUEST['sorting']);
Viper Отправлено: 03 Февраля, 2010 - 15:20:14 • Тема: Алфавитный указатель • Форум: Программирование на PHP

Ответов: 10
Просмотров: 552
ну не обязательно прям в базу тулить все. намного проще сделать можно

делаем буквенный список вида

PHP:
скопировать код в буфер обмена
  1. $sorting = trim($_REQUEST, 'sorting', '');
  2. $base_url = 'index.php?sorting=';
  3.  
  4. <a href="'.$base_url.'ruA.'" title="А">А</a>
  5. <a href="'.$base_url.'ruB.'" title="Б">Б</a>
  6. <a href="'.$base_url.'ruV.'" title="В">В</a>
  7. <a href="'.$base_url.'ruG.'" title="Г">Г</a>
  8. <a href="'.$base_url.'ruD.'" title="Д">Д</a>
  9. <a href="'.$base_url.'ruE.'" title="Е">Е</a>
  10. <a href="'.$base_url.'ruGE.'" title="Ж">Ж</a>
  11. <a href="'.$base_url.'ruZ.'" title="З">З</a>
  12. <a href="'.$base_url.'ruU.'" title="И">И</a>
  13. <a href="'.$base_url.'ruK.'" title="К">К</a>
  14. <a href="'.$base_url.'ruL.'" title="Л">Л</a>
  15. <a href="'.$base_url.'ruM.'" title="М">М</a>
  16. <a href="'.$base_url.'ruN.'" title="Н">Н</a>
  17. <a href="'.$base_url.'ruO.'" title="О">О</a>
  18. <a href="'.$base_url.'ruP.'" title="П">П</a>
  19. <a href="'.$base_url.'ruR.'" title="Р">Р</a>
  20. <a href="'.$base_url.'ruS.'" title="С">С</a>
  21. <a href="'.$base_url.'ruT.'" title="Т">Т</a>
  22. <a href="'.$base_url.'ruY.'" title="У">У</a>
  23. <a href="'.$base_url.'ruF.'" title="Ф">Ф</a>
  24. <a href="'.$base_url.'ruH.'" title="Х">Х</a>
  25. <a href="'.$base_url.'ruC.'" title="Ц">Ц</a>
  26. <a href="'.$base_url.'ruCH.'" title="Ч">Ч</a>
  27. <a href="'.$base_url.'ruHA.'" title="Ш">Ш</a>
  28. <a href="'.$base_url.'ruHE.'" title="Щ">Щ</a>
  29. <a href="'.$base_url.'ruEA.'" title="Э">Э</a>
  30. <a href="'.$base_url.'ruUA.'" title="Ю">Ю</a>
  31. <a href="'.$base_url.'ruI.'" title="Я">Я</a>


далее в alphabet.php

PHP:
скопировать код в буфер обмена
  1. switch ($sorting) {
  2.         case 'ruA': Sorting('А%'); break;
  3.         case 'ruB': Sorting('Б%'); break;
  4.         case 'ruV': Sorting('В%'); break;
  5.         case 'ruG': Sorting('Г%'); break;
  6.         case 'ruD': Sorting('Д%'); break;
  7.         case 'ruE': Sorting('Е%'); break;
  8.         case 'ruGE': Sorting('Ж%'); break;
  9.         case 'ruZ': Sorting('З%'); break;
  10.         case 'ruU': Sorting('И%'); break;
  11.         case 'ruK': Sorting('К%'); break;
  12.         case 'ruL': Sorting('Л%'); break;
  13.         case 'ruM': Sorting('М%'); break;
  14.         case 'ruN': Sorting('Н%'); break;
  15.         case 'ruO': Sorting('О%'); break;
  16.         case 'ruP': Sorting('П%'); break;
  17.         case 'ruR': Sorting('Р%'); break;
  18.         case 'ruS': Sorting('С%'); break;
  19.         case 'ruT': Sorting('Т%'); break;
  20.         case 'ruY': Sorting('У%'); break;
  21.         case 'ruF': Sorting('Ф%'); break;
  22.         case 'ruH': Sorting('Х%'); break;
  23.         case 'ruC': Sorting('Ц%'); break;
  24.         case 'ruCH': Sorting('Ч%'); break;
  25.         case 'ruHA': Sorting('Ш%'); break;
  26.         case 'ruHE': Sorting('Щ%'); break;
  27.         case 'ruEA': Sorting('Э%'); break;
  28.         case 'ruUA': Sorting('Ю%'); break;
  29.         case 'ruI': Sorting('Я%'); break;
  30.         default: return; break;
  31. }
  32.  
  33. function Sorting($sort) {
  34.         $sort = trim($sort);
  35.         $like = "LIKE '$sort'";
  36.         $query = "SELECT `id`, `author_name`"
  37.                 . "\n FROM `#__db_name` WHERE "
  38.                 . $like
  39.                 . "\n AND `published` = '1'"
  40.                 . "\n ORDER BY `author_name` ASC";
  41.  
  42.         // Далее выводим результаты в нужном виде
  43. }


функция примерная.
Viper Отправлено: 03 Февраля, 2010 - 15:06:28 • Тема: Скачивание файла • Форум: Программирование на PHP

Ответов: 5
Просмотров: 617
valenok пишет:
А если отдавать поток по чуть-чуть, потом ставить usleep

в смысле поток? поподробнее пожалуйста.
сейчас функция выглядит как

PHP:
скопировать код в буфер обмена
  1. function downloadFile($filepath) {
  2.         if (!file_exists($filepath)) {
  3.                 header('HTTP/1.0 404 Not Found');
  4.                 return;
  5.         }
  6.         $size = filesize($filepath);
  7.         $time = date('r', filemtime($filepath));
  8.         $fm = @fopen($filepath, 'rb');
  9.         if (!$fm) {
  10.                 header('HTTP/1.0 505 Internal server error');
  11.                 return;
  12.         }
  13.         $begin = 0;
  14.         $end = $size;
  15.         if (isset($_SERVER['HTTP_RANGE'])) {
  16.                 if (preg_match('/bytes=\h*(\d+)-(\d*)[\D.*]?/i', $_SERVER['HTTP_RANGE'], $matches)) {
  17.                         $begin = intval($matches[1]);
  18.                         if (!empty($matches[2])) $end = intval($matches[2]);
  19.                 }
  20.         }
  21.         ignore_user_abort(true);
  22.         @ini_set('zlib.output_compression', 'Off');
  23.         if ($begin > 0 || $end < $size) {
  24.                 header('HTTP/1.0 206 Partial Content');
  25.         } else {
  26.                 header('HTTP/1.0 200 OK');
  27.         }
  28.         header('Content-Type: application/octet-stream');
  29.         header('Cache-Control: public, must-revalidate, max-age=0');
  30.         header('Pragma: no-cache');
  31.         header('X-Powered-By: Kinoarhiv');
  32.         header('Accept-Ranges: bytes');
  33.         header('Content-Length:'.($end - $begin));
  34.         header('Content-Range: bytes '.$begin - $end / $size);
  35.         header('Content-Disposition: inline; filename='.basename($filepath));
  36.         header('Content-Transfer-Encoding: binary\n');
  37.         header('Last-Modified: '.$time);
  38.         header('Connection: close');
  39.         $cur = $begin;
  40.         fseek($fm, $begin, 0);
  41.         while(!feof($fm) && $cur < $end && (connection_status() == 0)) {
  42.                 echo fread($fm, min(1024*16, $end-$cur));
  43.                 $cur+=1024*16;
  44.                 usleep(1);
  45.         }
  46. }


usleep помог только в том плане что теперь мозилла хватает скачивание файла с первого раза и IE тоже, но загрузка сервера по прежнему 80-90% при скачивании и файл скачивается ровно на 28 819 678 байт хотя исходный размер намного больше.
Viper Отправлено: 02 Февраля, 2010 - 16:23:27 • Тема: нужна помощь • Форум: Напишите за меня, пожалуйста

Ответов: 10
Просмотров: 111
was пишет:
was

1. у тега img нет атрибута title
2. все значения атрибутов нужно брать в двойные кавычки
3.
CODE (html):
скопировать код в буфер обмена
  1. <a href="image_url.jpg" target="_blank"><img class="park" src="./im/pr/'.basename($ar['img']).'" align="left" alt="'.substr($text,0,25).'..." /></a>

Страниц (304): В начало « ... 258 259 260 261 [262] 263 264 265 266 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB