RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 461
от 17.09.2006, 14:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 365, Экспертов: 52
В номере:Вопросов: 5, Ответов: 12


Вопрос № 55021: Мой сайт, http://kulinar.h15.ru, находиться хостинге Holm.ru . Как кешировать страницы php? Локально на IIS кеширование можно задать, и оно работает, командами header, но те же оманды на реальном хосте - апаче, в сети - не дейстуют, кеширование стран...
Вопрос № 55025: Здравствуйте, уважаемые эксперты. Возможно я ошибся и задаю вопрос экспертам не по теме, но все же. У меня есть сайт на PHP. Сначала там идет авторизация потом работа. Сайт предназначен для учета заявок от контрагентов. Так вот можно-ли написать клие...
Вопрос № 55026: PlhЗдравствуйте уважаемые эксперты. Я пишу сетевой сканер, который сканирует порты и выводит если порт активен. Но ошибка в том, что пока он не отсканирует все порты то ничего не покажет, а надо чтобы как только порт найден он его выводит и продолжае...
Вопрос № 55142: Уважае мые эксперыт! Из БД достаю переменную $content, в ней содержится: $content="Hello [cod]This cod![/cod] End"; далее её надо обработать, так чтобы выводилось сл. образом: Hello <table width="100%"><b...
Вопрос № 55154: Есть таблица содержимое которой формируется динамичски! При изменении содержимого(текст и прочее) изменянется и ширина и высота таблици! Вопрос в том возможно ли средствами языка Java или php узнать текущую высоту таблицы? В примере приложен...

Вопрос № 55.021
Мой сайт, http://kulinar.h15.ru, находиться хостинге Holm.ru . Как кешировать страницы php? Локально на IIS кеширование можно задать, и оно работает, командами header, но те же оманды на реальном хосте - апаче, в сети - не дейстуют, кеширование страниц не происходит, и при возвратах к примеру на главную страницу она каждый раз загружается целиком, что замедляет работу с сайтом. Как же научить страницу оставаться в кеше компьютера пользовтеля? Почему приводимые для этого в описаниях команды не действуют? В чём здесь фишка?
Отправлен: 11.09.2006, 13:51
Вопрос задал: Ильин Игорь Анатольевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Козлов Алексей Сергеевич
Здравствуйте, Ильин Игорь Анатольевич!
Я использую следующий набор комманд:

Приложение:

---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).

Ответ отправил: Козлов Алексей Сергеевич (статус: 7-ой класс)
Ответ отправлен: 11.09.2006, 14:03


Вопрос № 55.025
Здравствуйте, уважаемые эксперты. Возможно я ошибся и задаю вопрос экспертам не по теме, но все же. У меня есть сайт на PHP. Сначала там идет авторизация потом работа. Сайт предназначен для учета заявок от контрагентов. Так вот можно-ли написать клиентскую часть на языке более низкого уровня, скажем на C++, которая бы проходила авторизацию и заполняла формы, без web-интерфеса и отсылала данные серверу. Это нужно для экономии траффика и к тому-же с использованием web не все интерфейсные возможности можно реализовать. Заранее спасибо.
Отправлен: 11.09.2006, 14:36
Вопрос задал: ATan (статус: 1-ый класс)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Madproger
Здравствуйте, ATan!

1) Кто сказал что С++ более низкого уровня?
2) Проходить авторизацию на стороне клиента это как? БД у тебя все равно на сервере :)
3) Если уж нужен навороченный интерфейс - кури в сторону Java

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

А так - возможности РНР оочень большие

Лучше спроси что у тебя не получается сделать средствами РНР - вот тогда тебе ответят как это можно сделать на РНР и и если не возможно, то как это можно обойти
---------
И будет вам счАстиЕ!
Ответ отправил: Madproger (статус: 9-ый класс)
Ответ отправлен: 11.09.2006, 14:44

Отвечает: Козлов Алексей Сергеевич
Здравствуйте, ATan!
1. На каком языке Вы не написали бы свою "клентскую" часть, объем траффика будет один и тот же. При авторизации и заполнении форм все значения передаются открытым текстом и язык на котором написан сайт никак не изменяет объем передаваемой информации.
2. Не путайте клиентскую и серверную части сайта. Клиентская часть выполняемся в броузере и пишется обычно на JavaScript. Серверная часть может быть на любом языке (PHP, Perl, C++, Java, ASP и т.д.).
3. На мой взгляд PHP гораздо удобнее при работе с web'ом, чем другой язык.

P.S. Напишите в ICQ какие возможности Вам нужны и я посмотрю можно ли их реализовать в PHP.
---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов Алексей Сергеевич (статус: 7-ой класс)
Ответ отправлен: 11.09.2006, 14:53
Оценка за ответ: 4

Отвечает: Straight
Здравствуйте, ATan!
Позволю себе не согласиться с предыдущими докладчиками. Использование клиентской программы (например на C++) действительно может сократить траффик (не прересылаются формы в HTML и всякие элементы оформления). И действительно шире интерфейсные возможности. Но большой минус - трудоемкость исполнения.

Если все же хочется такое написать, то первое что приходит на ум - C++ Builder. В нем есть компонент TNMHTTP, который дает все возможности для HTTP-обмена с сервером.

Об авторизации - отдельный вопрос. Какой тип Вы используете мне неизвестно, но вышеупомянутый кромпонент дает возможности и для HTTP-авторизации, и для авторизации через cooke или сессии.
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 11.09.2006, 15:11
Оценка за ответ: 5

Отвечает: NoOne
Здравствуйте, ATan!

Можно. Для этого потребуется знать HTTP-протокол. RFC по нему тут

1. http://www.w3.org/Protocols/rfc2616/rfc2616.html - английская, более поздняя версия
2. http://www.lib.ru/WEBMASTER/rfc2068/ - русская

С помощью сокетов подключаемся к веб-серверу (обычно 80 порт). Отправляем заголовок, получаем в ответ заголовок с ответом сервера. Смотрите простой пример в приложении.

Приложение:

---------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (c) М.Фаулер

Ответ отправил: NoOne (статус: 2-ой класс)
Ответ отправлен: 11.09.2006, 15:13
Оценка за ответ: 5

Отвечает: PVS
Здравствуйте, ATan!
Посылайте на 80 порт сервера правильные запросы, обрабатывайте ответы и все! Правда не совсем понятно как Вы этим сэкономите трафик, но если постараетесь, то наверное получится.
Ответ отправил: PVS (статус: Студент)
Ответ отправлен: 11.09.2006, 15:28


Вопрос № 55.026
PlhЗдравствуйте уважаемые эксперты. Я пишу сетевой сканер, который сканирует порты и выводит если порт активен. Но ошибка в том, что пока он не отсканирует все порты то ничего не покажет, а надо чтобы как только порт найден он его выводит и продолжает сканирование

Приложение:

Отправлен: 11.09.2006, 14:38
Вопрос задал: Канев Виталий Сергеевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Канев Виталий Сергеевич!
попробуйте после print вставить flush(), но это, кaжется, не сработает при output_buffering=1 в php.ini
Ответ отправил: PVS (статус: Студент)
Ответ отправлен: 11.09.2006, 15:34

Отвечает: Cimus
Здравствуйте, Канев Виталий Сергеевич!
Посмотрите пример в приложении.

Приложение:

---------
Достичь можно любых высот !

Ответ отправил: Cimus (статус: 7-ой класс)
Ответ отправлен: 11.09.2006, 16:16


Вопрос № 55.142
Уважаемые эксперыт!
Из БД достаю переменную $content, в ней содержится:
$content="Hello [cod]This cod![/cod] End"; далее её надо обработать, так чтобы выводилось сл. образом:

Hello
<table width="100%">
<tr>
<td>This cod!</td>
</tr>
</table>
End
Отправлен: 12.09.2006, 12:29
Вопрос задал: Nook (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Цепковский Антон Сергеевич
Здравствуйте, Nook!

str_replace - Заменяет в исходной строке одни подстроки на другие.

Синтаксис :
string str_replace(string from, string to, string str)

Эта функция заменяет в строке str все вхождения подстроки from (с учетом регистра) на to и возвращает результат. Исходная строка, переданная третьим параметром, при этом не меняется.
также эта функиция может работать с двоичными строками.

т.е.

$content = str_replace('[cod]','<table width="100%"><tr><td>',$content);
$content = str_replace('[/cod]','</td></tr></table>',$content);

Приложение:

---------
Вся наша жизнь - RPG

Ответ отправил: Цепковский Антон Сергеевич (статус: 4-ый класс)
Ответ отправлен: 12.09.2006, 13:00

Отвечает: Stamm
Здравствуйте, Nook!
Можно воспользоваться регулярными выражениями:
Если Вам надо будет надо добавить новые псевдо-тэги, то следующий код Вам подойдёт.
Чтобы добавить ещё одну обработку, но вставить ещё один elseif. Например, нужно добавить обработку [b], чтобы добиться выделения текста жирным:
elseif($t=='b')
return '<b>'.$p[2].'</b>';
Если Вам дополнительные псеводо-тэги не нужны, то в приложении тоже есть код.

Приложение:

---------
Этот мир обречён на нас
©Сергей Маврин

Ответ отправил: Stamm (статус: Практикант)
Ответ отправлен: 12.09.2006, 14:38

Отвечает: PVS
Здравствуйте, Nook!
str_replace("что", "на что",где)

Приложение:

Ответ отправил: PVS (статус: Студент)
Ответ отправлен: 13.09.2006, 10:07


Вопрос № 55.154
Есть таблица содержимое которой формируется динамичски! При изменении содержимого(текст и прочее) изменянется и ширина и высота таблици! Вопрос в том возможно ли средствами языка Java или php узнать текущую высоту таблицы?

В примере приложения описан пример извлечения высоты таблици при её статическом задании,что не подходит для решения моего вопроса так как высоту нужно узнать когда у таблици праметр height не задан!

Другими слова нужна узнать ту высоту которая получилась от вставленого в неё содержимого!

P.S. Безгранично благодарен ответившим!

Приложение:

Отправлен: 12.09.2006, 13:33
Вопрос задал: Борзов Максим Викторович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Константин
Здравствуйте, Борзов Максим Викторович!
Ну допустим мжно поступить так.
К примеру, таблица у нас выводится с заголовком и кучей строк:
<table>
<tr>
<td colspan="2" height="20">
Таблица
</td>
<tr>
<td height="15">
info
</td>
<td height="15">
info
</td>
</tr>
...
</table>
Таким образом заголовок 20 пикселей и строки по 15. При формировании таблицы динамически считаем кол-во строк и умножаем на 15. Добавляем 20. Кол-во строк - это будет счетчик цикла +1 (если for) или кол-во элементов в массиве/запросе.
Идея ясна?

Еще можно все это отправить, узнать на стороне клиента с помощью javascript высоту так как у вас в примере и после этого ява-апплетом отослать на сервер. Или Аяксом. Что, принципиально, одно и тоже. В смысле, результат тот же.

Мне больше нравится 1й вариант. Насчет воторого подсказать не могу - яву хорошо не знаю.
---------
Лучше сделать и жалеть, чем жалеть о том что не сделал
Ответ отправил: Константин (статус: 7-ой класс)
Ответ отправлен: 12.09.2006, 16:00
Оценка за ответ: 4
Комментарий оценки:
Данный вариант уже пробовал,работает но мала точность! Но все равно спасибо! И скажу только чторешение уже найдено в другом разделе! Но все равно спасибо!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное