PHP.SU

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

Страниц (8): « 1 2 [3] 4 5 6 7 8 »

> Найдено сообщений: 111
isle Отправлено: 02 Января, 2011 - 16:17:54 • Тема: Разобрать слово по буквам • Форум: Программирование на PHP

Ответов: 7
Просмотров: 1669
Когда-то очень давно использовал регулярку для этого, с ней мне казалось всё гораздо проще из-за кодировок Улыбка Сейчас всё чаще от регулярок отказываюсь, получается примерно в 2 раза быстрей скрипт работает.



Выведет все символы, кроме пробелов. Можно также и пробелы вытащить, тогда так надо:

'|.{1,1}|i'
isle Отправлено: 02 Января, 2011 - 16:10:44 • Тема: progress bar • Форум: Программирование на PHP

Ответов: 14
Просмотров: 3618
Ch_chov пишет:
можно использовать рекурсию или setInterval


Ага, с аяксом. С этого я и начинал тему, но так долго и сложно + я начал изучать сокеты (прочёл в сети, что так гораздо быстрее работает тот же самый запрос, что на аяксе), но мало информации по ним и мало примеров. Если есть интересные и полные материалы, было б классно ознакомиться, а то я всё по кусочкам ищу.
isle Отправлено: 02 Января, 2011 - 14:38:56 • Тема: Помогите пож понять • Форум: Программирование на PHP

Ответов: 6
Просмотров: 468
OrmaJever пишет:
А как можно меньше подпись зделать?


CODE (htmlphp):
скопировать код в буфер обмена
  1. [size=4][color=grey][i]Подпись.[/i][/color][/size]
isle Отправлено: 02 Января, 2011 - 13:27:01 • Тема: Помогите пож понять • Форум: Программирование на PHP

Ответов: 6
Просмотров: 468
OrmaJever пишет:
isle unknown это не false.


Ага, я знаю Улыбка

П.С. Не разу не видел такого ответа, тем более, что:
Цитата:
Returns the value of the environment variable varname, or FALSE on an error.


OrmaJever, ваша подпись капец как выглядит, мне всё время кажется, что это не подпись, а сообщение Ха-ха Сделали бы ее мелкой и серенькой, чтоб было понятно, что это подпись.

П.П.С. Уже давненько перешел на переменную $_SERVER, всё остальное вроде как устарело Растерялся или мне так кажется? Огорчение
isle Отправлено: 02 Января, 2011 - 12:45:48 • Тема: progress bar • Форум: Программирование на PHP

Ответов: 14
Просмотров: 3618
JustUserR, блин, спасибо огромное! Что-то сразу не сообразил про фреймы, уже полгода как забыл про них. Идею хорошая после каждой функции писать в файл:

CODE (html):
скопировать код в буфер обмена
  1. <html><head><meta HTTP-EQUIV="refresh" content="3"></head><body><progress value="1" max="100" id="mainpage">1%</progress><br />1%</body></html>


...

CODE (html):
скопировать код в буфер обмена
  1. <html><head><meta HTTP-EQUIV="refresh" content="3"></head><body><progress value="100" max="100" id="mainpage">100%</progress><br />100%</body></html>


А этот файл подгрузить во фрейм. Как раз динамический красивый прогресс-бар получается практически без всяких напрягов. А после загрузки контента, можно фрейм удалить из блока, либо просто пустым сделать - гениальное как всегда всё просто Закатив глазки

П.С. Если кто сути не понял, но хочет сделать такую плюшку, распишу подробно весь код. А JustUserR спасибо за идею, пошел клепать.
(Добавление)
Ch_chov, скачал версию лайт, глянул код и ничего не увидел Растерялся В двух местах скриптом какой-то таймер показывается, видимо, вы имели в виду JS? Я тоже так думал сначала, но JS загаживать HTML не хотелось (если шагов много), тогда уж лучше на аяксе, да и на JS нельзя без аякса сделать то, что хочу. Поэтому и думал, что только на сокетах можно как на аяксе посылать запрос и ловить хидер-ответ с переменной (ступенькой выполнения функций, типа F1(), F2()...).

CODE (html):
скопировать код в буфер обмена
  1. .innerHTML = "$timer, сек.";


Это не то, нельзя просто из php это распечатать последовательно (в моем случае по крайней мере). Пока еще сокеты не освоил, воспользуюсь идеей JustUserR.

Друзья, спасибо за помощь. Если кто захочет обсудить другие варианты, с радостью подключусь и попробую наваять грамотный код и выложить сюда в готовом виде.
isle Отправлено: 02 Января, 2011 - 12:25:51 • Тема: progress bar • Форум: Программирование на PHP

Ответов: 14
Просмотров: 3618
MrSource пишет:
А оправдана ли нагрузка будет?


Смеетесь что ли? откуда там нагрузке взяться? Лишние 100-200 байт на 1-2 мб сайт не положат. Ну и речь-то не об этом Подмигивание

Эх, видимо, придётся пока по-старинке, через аякс лепить. Огорчение
isle Отправлено: 02 Января, 2011 - 12:22:15 • Тема: Возможно ли средствами php узнать SN процессора? • Форум: Программирование на PHP

Ответов: 8
Просмотров: 959
MrSource пишет:
вроде всё просто.


Спутник тоже просто запустить, кнопку нажал и тот полетел... Сам видел по ТВ, как президенты разных стран запуляли в космос... Свой что ли сваять и запустить с окна Ха-ха
isle Отправлено: 02 Января, 2011 - 10:49:09 • Тема: Как из формы в html сохранить данные в текстовый файл • Форум: Программирование на PHP

Ответов: 2
Просмотров: 735
1. Веткой ошиблись.
2. Примеров полно в сети.

Пишите в форме путь к обработчику, указываете тип запроса, например GET.

В php ловите этот запрос так:



Затем записывам данные:

PHP:
скопировать код в буфер обмена
  1. $file = 'my.txt';
  2. if ($data) file_put_content($file,$data);


Дальше сами курите, что не ясно, спрашивайте, подскажу. Либо можете писать в агент (zgr@bk.ru), напишу готовый код для вашего сайта.
isle Отправлено: 02 Января, 2011 - 10:42:16 • Тема: Возможно ли средствами php узнать SN процессора? • Форум: Программирование на PHP

Ответов: 8
Просмотров: 959
Железо узнать нельзя (yb разу не видел нигде ничего подобного), а ПО можно (php, mysql).
isle Отправлено: 02 Января, 2011 - 10:27:53 • Тема: progress bar • Форум: Программирование на PHP

Ответов: 14
Просмотров: 3618
MrSource пишет:
Простите, но смысл!?


Эх, чего только люди без смысла не делают Улыбка Например, снеговиков лепят, снег падающий и прочие "плюшки" на сайт вешают, типа часов, погоды, курса валют и т.д... В них тоже смысла нет, но тем не менее, это смотрится индивидуально, красиво, и профессионально иногда, а бывает даже и полезно (в очень редких случаях) Улыбка

Самый простой и скучный способ - повесить заглушку, которая будет тупо висеть, пока сайт не загрузится в нужный блок, но если хочется не просто заглушку, а именно информер того, что сейчас происходит на сервере, то это, скорее всего, грамотно только через сокеты можно сделать.

Поясняю смысл. Иногда сайт грузится не сек, а гораздо дольше, особенно, если флешь, на флеше это легко делается, то я его не знаю и хочу сделать на php. Например, игровой сайт может грузиться 20-25 сек, выводим:

- загрузка карты местности (6 сек.)
- загрузка сохраненных настроек (3 сек)
- загрузка амуниции и продовольствия (4 сек.)
- загрузка текущего уровня игры (5 сек.)
- загрузка завершена. Нажмите Ентер для продолжения.

Ну и всё, выход, а пока грузится, слева можно галочки серые менять на зеленые Улыбка Это просто, для примера.

либо такое:

- поиск сайта в соц. сетях и закладках.
- определение ТИЦ и ПР.
- определение внешних ссылок сайта.
- определение других параметров сайта.
isle Отправлено: 02 Января, 2011 - 09:07:31 • Тема: progress bar • Форум: Программирование на PHP

Ответов: 14
Просмотров: 3618
Хочется потренироваться в php на сокетах, но мало информации как на оф.сайте, так и в сети. Собственно загорелся желанием узнать, как правильно реализовываются прогресс-бары для выполнения функций php. Если кто уже делал такое, не могли бы скинуть простенький примерчик, чтоб наглядно разобраться в этом? А вообще, было бы здорово такой пример опубликовать на портале php.su в "примерах" Улыбка

В html статически код такой (в Хроме класно переливается, в Опере просто зелёная полоска):

CODE (htmlphp):
скопировать код в буфер обмена
  1. <center><div id="progress"><progress value="1" max="100" id="mainpage">1%</progress><br />1%</div></center>


Хочется сделать эту "плюшку" динамической, которая бы показывала реальный процент работы php и какая именно функция сейчас работает. Единственно, как я сам понимаю и могу это сделать - долбать сервер аяксом каждую секунду-две на наличие переменной (процента) и его показывать, а в php скидывать "процент" в кеш (БД или ФТП) и подгружать при ГЕТ-запросе аякса. Надеюсь, понятно написал Улыбка

В сети ничего толком нет, как же сделать такой прогресс-бар динамический, показывающий реальную картину. Есть корявые примеры циклов, например, с очисткой буфера, есть вариант на сокетах. Последний заинтересовал, нашел какой-то корявый топик на Хабре, но не получилось его использовать.

Нет ли желающих обсудить как можно такую штуку сваять? Работать должна примерно так:

PHP:
скопировать код в буфер обмена
  1. <?
  2. if (!$go) $go = 0;
  3. f1(
  4. global $go; ++$go;
  5. );
  6. if ($go==1) echo "Выполненно: 10%, функция 1 - ок.";
  7. ...
  8. if ($go==10) echo "Выполненно: 100%, функция 10 - ок.";
  9. ?>


В самом конце прогресс-бар должен исчезнуть.

Вроде как я понял, нужно делать запрос на заголовок сервера, получать его и парсить оттуда переменную (процент), но сделать пока не выходит - не хватает навыков программирования.

П.С. Простите за "портянку" текста Улыбка Если ошибся веткой, перекиньте, пожалуйста.
isle Отправлено: 02 Января, 2011 - 08:47:49 • Тема: Помогите пож понять • Форум: Программирование на PHP

Ответов: 6
Просмотров: 468
Описание функции: http://php.net/manual/en/function.getenv.php

она возвращает "ложь", если ошибка, т.е. никакого "не знаю" не будет, чтоб получить "не знаю", нужно так писать:

$ip = getenv("HTTP_X_FORWARDED_FOR")?getenv("HTTP_X_FORWARDED_FOR"):'unknown';

В этом случае вы получите либо "правду", т.е. номер айпи, либо "не знаю" ('unknown').

Я предпочитаю во всех случаях присваивать переменным либо "ложь", либо "правду" - удобней затем проверять их, получается короче и проще код.
isle Отправлено: 19 Декабря, 2010 - 13:07:18 • Тема: Вырезать ссылки • Форум: Регулярные выражения

Ответов: 16
Просмотров: 973
OrmaJever пишет:
ну дак скачайте снова денвер и установите


Вы, видимо, не поняли меня - сдохла локалка, не ставится и не работает Денвер! Автор посоветовал переустановить Виндоус, а для меня это смерти подобно... Кучу софта потом занова перерегистрировать через тырнет и почту, у меня же не пара ворованных утилит стоит.

Еще раз уточню: php не первый день изучаю, давно уже не актуальны мне эти уроки, почти уже весь сайт изучил php.net на англ. Про Денвер сам автор ничего сказать не может толком, вы полагаете, что я могу что-то придумать, прочитав его хелпы и переустановив? Радость Сто раз уже скачивал, всё чистил и переустанавливал - нифига. Вот и получается, что мне проще чем Вмнду всю перекапывать и переустанавливать, лучше онлайн у себя проверить.

Спасибо за участие, пока хоть и коряво, но проблему решил.
isle Отправлено: 19 Декабря, 2010 - 01:53:10 • Тема: Вырезать ссылки • Форум: Регулярные выражения

Ответов: 16
Просмотров: 973
К сожалению, локалка сдохла год назад из-за какого-то вируса, автор Денвера и авторы других виртуалок не в курсе как исправить это, поэтому тестю сразу онлайн. Буду тормошить своего хостера тогда, если завтра сам не разберусь, а то как-то странно, ошибок вообще никаких (ошибки включал), просто не работает и всё. Эх, каждую "запятую" скрупулёзно копать приходится... Огорчение

Спасибо за помощь; раз у вас работает, буду разбираться в чем проблема.
isle Отправлено: 19 Декабря, 2010 - 01:09:31 • Тема: Вырезать ссылки • Форум: Регулярные выражения

Ответов: 16
Просмотров: 973
OrmaJever пишет:
вы про это? (\\\)?


Ага, эта конструкция не работает, перепробывал разные модификации уже. Хотелось бы упростить все регулярки и свести их до минимума, сейчас самые тяжёлые выключил. Ранее использовал несколько регулярок, лишь бы проще мне было, но сейчас некоторые новостные сайты содержат огромное кол-во ссылок и текста вообще, страницы до нескольких сотен кб доходят и это без графики (мега-статьи, ёлки). Поэтому выходить стало до 20-25 сек. на тяжёлую страницу, а 30 сек - ограничение хостера, вот и решил оптимизировать скрипты.

Вот это я придумал методом проб и ошибок, почему именно так - для меня самого является загадкой: нельзя ничего переделать, выкидываю хоть что-нибудь или переношу, регулярка не работает почему-то, поэтому все скобки квадратные и слеши стоят именно так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. $pattern = '|(<\s*a\s+[^>]*>)(.*?)([\<\s\/]*/[\s]*a\s*>)(?:<a\s+[^>]*>)?|smi';


Если можно упростить регулярку, то было бы супер - каждая секунда на счету Улыбка

Если хотите, можете посмотреть в работе (только сегодня начал переписывать всё заново, поэтому не всё еще работает); выберите пункт "links" и укажите полную ссылку на свой сайт, получите список всех ссылок, например, у меня их 500, перебирать их вручную в коде смерти подобно... (сервис: isle-arch.ru).

П.С. w3с не подходит, он показывает ошибки сайта, а мне нужно видеть уровень оптимизации, т.е. битые ссылки, внешние и внутренние ссылки, закрытые от поисковиков, левую рекламу на сайте и т.д., т.е. совсем другие задачи Улыбка

Страниц (8): « 1 2 [3] 4 5 6 7 8 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB