PHP, CSS, JavaScript, XHTML - есть вопросы?

Форум для программистов

Сообщение ita » Чт авг 07, 2003 9:19 am

2BuG
а разве они imap-функции с pop3 не работают?
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->XLIII. Функции IMAP, POP3 и NNTP
Эти функции не ограничиваются протоколом IMAP , как можно было бы понять из их названия. Основная клиентская С-библиотека также поддерживает методы доступа NNTP, POP3 и локального mailbox.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
эт из моей доки по PHP...
Продается лунный грунт! Предоплата 100%, самовывоз.
ita
Подполковник
 
Сообщений: 717
Зарегистрирован: Ср сен 11, 2002 12:00 am
Откуда: dp.ua
Пункты репутации: 0

Сообщение Миша Спларов » Чт авг 07, 2003 11:18 am

2Nick FW
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->чтоб опыта нахвататься <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Если писать качественно, с огромным количеством нужных функций, то опыт конечно будет, но сколько на это времени убьёшь... В данном случае, легче взять готовое и набираться опыта внутри готового скрипта.
2FSA
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Знаю что с IMAP можно работать на Unix'овых системах если со специальным модулем перекомпилировать... <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Если компилировать, то надо было так:
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Чтобы эти функции работали, вы должны скомпилировать PHP с опцией --with-imap.
Затем скопируйте c-client/c-client.a в /usr/local/lib/libc-client.a или какую-нибудь другую директорию в пути link и скопируйте c-client/c-client.h, c-client/imap4r1.h, c-client/rfc-882.h, c-client/mail.h и c-client/linkage.h в /usr/local/include или какую-нибудь другую директорию в пути include.
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Поэтому, если не откомпилировано с этими парамеирами, то и не один сторонний скрипт работать не будет.
Всё, что касается получения почты, без imap, на php, работать не будет.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение Миша Спларов » Пт авг 08, 2003 11:19 am

2Bio Wolf
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->ну и желательно по icq или irc <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
ICQ себе завёл: 223798357 чаще всего бываю, по Москве, с 15.00 до 15.30 и с 23.00 до 00.00.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение NickFW » Сб авг 09, 2003 4:36 am

2ALL
Для создания меню в фотогалерее ниписал такой код
Код: выделить все
$photo_menu = " ";
$pdir = opendir("$mdir/photo");
while ($pdir_name = readdir($pdir)) {
      if (($pdir_name != ".") && ($pdir_name != "..")) {
          $b = str_replace("-", " ", "$pdir_name");
          $act_name = ucwords($b);
          $photo_menu .= "· <a href=photo.php?act=p&p=$pdir_name>$act_name</a><br>";
          }
      }
Но столкнулся с такой проблемой:
поиск папок происходит по времени создания, и естественно само меню получается не по алфавиту т.е. создал папку в таком порядке:
Код: выделить все
rekha
shahrukh-khan
akshay-kumar
и получил меню
Код: выделить все
Rekha
Shahrukh Khan
Akshay Kumar
а хотелось бы по алфавиту
Код: выделить все
Akshay Kumar
Rekha
Shahrukh Khan
можно ли этого добиться??? если да то как...
NickFW
Маршал
 
Сообщений: 6178
Зарегистрирован: Чт апр 11, 2002 11:46 am
Откуда: kemerovo / siberia
Пункты репутации: 0

Сообщение Night Angel » Сб авг 09, 2003 5:17 am

Написать всё в массив и отсортировать - решение в лоб. Но если почесать репу, то может ещё что придумаю. Ждите...
<span style='font-size:8pt;line-height:100%'>Добавлено 09.08.2003 в 8:35</span>
Мануал почитал, там только такой способ. asort($array) поможет.
Последний раз редактировалось Night Angel Сб авг 09, 2003 5:36 am, всего редактировалось 1 раз.
Auscultura et perpende - Выслушай и взвесь
Теперь я есть в <a href='http://www.livejournal.com/users/mrnight/' target='_blank'>LJ</a>
Night Angel
Полковник
 
Сообщений: 1160
Зарегистрирован: Ср сен 25, 2002 7:20 pm
Откуда: Belarus
Пункты репутации: 0

Сообщение Bio Wolf » Сб авг 09, 2003 8:40 am

2Max Drowdy
добавил и отправил запрос авторизации <!--emo&:)-->Изображение<!--endemo-->
2Night Angel
это вроде бы единственный быстрый способ, я с этой проблемой долго справлялся и массив был лучшим решением!!!
Спам придумали боги в отместку за наши молитвы.
Bio Wolf
Майор
 
Сообщений: 397
Зарегистрирован: Пн апр 08, 2002 9:23 pm
Откуда: KG
Пункты репутации: 0

Сообщение Миша Спларов » Сб авг 09, 2003 11:08 am

2Nick FW
Правильно Night Angel говорит в массив и отсортировать.
2Bio Wolf
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->добавил и отправил запрос авторизации <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Время когда я в нете знаешь. Но лучше было-бы всё-таки здесь это тоже публиковать. Может кому интересно будет.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение NickFW » Сб авг 09, 2003 11:39 am

2Night Angel & Bio Wolf
Спасибо... получилось... код стал таким:
Код: выделить все
$photo_m = array(" ");
$photo_menu = " ";
$pdir = opendir("$mdir/photo");
while ($pdir_name = readdir($pdir)) {
      if (($pdir_name != ".") && ($pdir_name != "..")) {
          $b = str_replace("-", " ", "$pdir_name");
          $act_name = ucwords($b);
          array_push($photo_m, "· <a href=photo.php?act=p&p=$pdir_name>$act_name</a><br>\n");
          }
      }
asort ($photo_m);
while (list ($key, $val) = each ($photo_m)) {
           $photo_menu .= "$val";
           }
NickFW
Маршал
 
Сообщений: 6178
Зарегистрирован: Чт апр 11, 2002 11:46 am
Откуда: kemerovo / siberia
Пункты репутации: 0

Сообщение Bio Wolf » Сб авг 09, 2003 12:53 pm

могу посоветовать эту конструкцию:
Код: выделить все
while (list ($key, $val) = each ($photo_m)) {
          $photo_menu .= "$val";
}

заменить на:
Код: выделить все
foreach ($photo_m as $val) $photo_menu .= "$val";

выглядит изящнее, и легче разобраться <!--emo&:)-->Изображение<!--endemo-->
Последний раз редактировалось Bio Wolf Сб авг 09, 2003 12:58 pm, всего редактировалось 1 раз.
Спам придумали боги в отместку за наши молитвы.
Bio Wolf
Майор
 
Сообщений: 397
Зарегистрирован: Пн апр 08, 2002 9:23 pm
Откуда: KG
Пункты репутации: 0

Сообщение Night Angel » Пн авг 11, 2003 8:59 am

Товарищи, я в трансе. Уже 3 часа сижу и не могу заставить работать вот это:

...skipped...

Во 2: mysql_fetch_row не возврщает ассоциативный массив. К элементам можно обращатся только по индексу. Соответственно не работает и замена.

В чём собсна дело???

Добавлено ещё через 3,5 часа:
Код: выделить все
$db->connect();
       $db->query = 'SELECT * FROM `main` WHERE `new`=\'y\' AND `show`=\'y\'';
       $db->request();
       $db->close();
       $fc = implode('',file($db->TPL.'tbl.tpl'));
       $ar = array();
       while (list($ar['new'],$ar['show'],$ar['id'],$ar['man'],$ar['model'],
$ar['x'],$ar['y'],$ar['z'],$ar['w'],$ar['gsm'],$ar['short'],$ar['rate'],$ar['price']) = $db->fetch_row()){
           $tmp = $fc;
           while(list($key,$val)=each($ar)){
               $key = strtoupper($key);
               $key = '{'.$key.'}';
               //echo $key.' '.$val.'<br>';
               $tmp=str_replace($key,$val,$tmp);
           }
          echo $tmp.'<br><br>';
          $ar = null;
       }

Т.о. 1 вопрос снят, и вся эта хрень работает, но остаётся второй.
Последний раз редактировалось Night Angel Пн авг 11, 2003 12:48 pm, всего редактировалось 1 раз.
Auscultura et perpende - Выслушай и взвесь
Теперь я есть в <a href='http://www.livejournal.com/users/mrnight/' target='_blank'>LJ</a>
Night Angel
Полковник
 
Сообщений: 1160
Зарегистрирован: Ср сен 25, 2002 7:20 pm
Откуда: Belarus
Пункты репутации: 0

Сообщение SiMM » Пт авг 22, 2003 11:04 am

Не могу разобраться, что делаю не так:
Код: выделить все
$url="http://localhost/test.htm";
$start = "<ul class=\"listitem\">";
$ends = "</ul>";
$file = fopen($url, "r");
if(eregi("$start(.*)$ends", fread($file, 200000), $data)){
 echo $data[1];
}
fclose($file);

test.htm содержит текст следующего содержания
...
<ul class="listitem">
необходимый для вырезания текст
</ul>
<ul class="listitem">
ещё всякий мусор
</ul>
...
Мне необходимо вырезать "необходимый для вырезания текст" ("без всякого мусора"), однако "жадный" регэксп $start(.*?)$ends делать это отказывается (получаю сообщение Warning: REG_BADRPT:prepetition-operator operand invalid in path/filename on line XXX. Замена eregi на preg_match("/$start(.*)$ends/sU", fread($file, 200000), $data) токже не привела ни к чему хорошему - Parse error: parse error, unexpected '}' in path/filename on line XXX. Помогите разобраться.
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Миша Спларов » Пт авг 22, 2003 12:35 pm

2SiMM
Попробуй воспользоватся опережающей проверкой.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение SiMM » Пт авг 22, 2003 5:19 pm

<!--QuoteBegin--Max Drowdy+Aug 22 2003, 16:35--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Max Drowdy @ Aug 22 2003, 16:35)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> 2SiMM
Попробуй воспользоватся опережающей проверкой. <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
(жалобно) я начинающиииий... <!--emo&;)-->Изображение<!--endemo--> (можно пример?)
Тут уже дело принципа - всё же хотелось бы знать, в чём дело? Просто такое поведение ничем не объясняется - получается, что жадных квантификаторов в php - нет? Абыдна. А выкрутиться - конечно можно, но не хотелось бы "выкручиваться" каждый раз, да ещё и непонятно по какой причине (не люблю излишнего шаманства и танцев с бубном <!--emo&:)-->Изображение<!--endemo--> ).
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Миша Спларов » Пт авг 22, 2003 7:34 pm

Ну во первых советую прочитать книгу "Регулярные выражения" (books.ru) (второе изд.). И ещё есть руководство PHP (документация - <a href='http://php.net/docs.php)' target='_blank'>http://php.net/docs.php)</a>.
Почитай.
А пример:
Ну приерно так: /$f(?=</ul>)$s/ - по моему так.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение SiMM » Пт авг 22, 2003 7:58 pm

2Max Drowdy, спасибо за участие, всё заработало <!--emo&:)-->Изображение<!--endemo--> На будующее - советую вместо пхпшных (ereg) регэкспов пользовать перловые (preg, основание - <a href='http://php.spb.ru/regular_expression.html' target='_blank'>эта</a> статья "...Перловые работают раз в 10-30 быстрее ПХПышных..." - правда, сам не проверял и возможно, что статья уже "отставшая" от жизни <!--emo&:)-->Изображение<!--endemo--> ). К сожалению, пока обошёлся следующим образом: preg_match("/<ul class=\"listitem\">(.*?)<\/ul>/s", fread($file, 200000), $data), конструкция же с $start(.*?)$ends работать отказывается - буду курить дальше, но пока это для меня не столь актуально <!--emo&:)-->Изображение<!--endemo-->
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Пред.След.

Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron