Отправляет email-рассылки с помощью сервиса Sendsay

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

  Все выпуски  

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 868
от 15.01.2008, 19:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 441, Экспертов: 50
В номере:Вопросов: 4, Ответов: 9

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 117700: Здравствуйте! У меня возникла проблема. Мне надо чтобы скрипт определял тип браузера и в зависимости от типа браузера вставлял нужный файл *.css. Я попробовал решить эту задачу таки образом: -----------------------------------------...
Вопрос № 117728: Здравствуйте! Решил сделать поиск по месяцу и году. Вставил в файл РНР сессию но Apache выдает ошибку в служебном теге: curl_init() "Fatal error: Call to undefined function: curl_init() in z:homelocalhostwwwmatemalogsdate.php on line ...
Вопрос № 117827: Добрый день уважаемые эксперты!!! Мне срочно нужен ваш совет. Каким образом можно поставить счётчик посещений на веб-сайт? Времени настолько мало что если буду искать в книгах просто не успею. Если не сможете помочь с прямым кодом счё...
Вопрос № 117842: Здравствуйте, уважаемые эксперты! С помощью функции bin2hex() можно картинку *.jpg представить в формате а-ля: ffd8ffe000104a46494600010200006400640000ffec00114475636b7900010004 и тд... Объясните пожалуйста, как потом имея текстовый докум...

Вопрос № 117.700
Здравствуйте! У меня возникла проблема.
Мне надо чтобы скрипт определял тип браузера и в зависимости от типа браузера вставлял нужный файл *.css.
Я попробовал решить эту задачу таки образом:

------------------------------------------------------------------------------------------------
<?PHP
if (strpos($_SERVER ['HTTP_USER_AGENT'], "MSIE")) {
echo ("<link rel='stylesheet' type='text/css' href='css/ie.css'>");
}


if (strpos($_SERVER ['HTTP_USER_AGENT'], "MOZILA")) {
echo ("<link rel='stylesheet' type='text/css' href='css/nestcape.css'>");
}


if (strpos($_SERVER ['HTTP_USER_AGENT'], "OPERA")){
echo ("<link rel='stylesheet' type='text/css' href='css/opera.css'>");
}


if (strpos($_SERVER ['HTTP_USER_AGENT'], "WEBTV")) {
echo ("<link rel='stylesheet' type='text/css' href='css/webtv.css'>");
}

else
{
echo ("<link rel='stylesheet' type='text/css' href='css/style.css'>");
}
?>
-----------------------------------------------------------------------------------------------

У меня ничего не получилось.
Нужный файл вставляется, только если я захожу с IE (ie.css), а если я захожу с Opera
Вставляется файл style.css, а не opera.css.
Подскажите, что я делаю не так.
Заранее благодарю.
Отправлен: 10.01.2008, 01:40
Вопрос задал: Грибанов Фёдор Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Nexus
Здравствуйте, Грибанов Фёдор Александрович!

В пхп автоматичиески приводятся типы, т.е. ноль равен false, но не эквивалентен ему:
0 == false истинно
0 === false ложно

strpos возвращает позицию вхождения подстроки - Opera, например - которая является нулевой, поэтому условие не выполняется. нужно:
if (strpos($_SERVER ['HTTP_USER_AGENT'], "OPERA") !== false){}
Ответ отправил: Nexus (статус: Студент)
Ответ отправлен: 10.01.2008, 01:51
Оценка за ответ: 5
Комментарий оценки:
Большое всем спасибо. Всё работает отличьно.

Отвечает: Товарищ Бородин
Здравствуйте, Грибанов Фёдор Александрович!
Я думаю, проще было бы воспользоваться javascript. Он содержит объект navigator, у которого есть свойства appName и appVersion(или просто version, точно не помню, но проверить легко). Таким образом проверить нужный браузер гораздо легче(если, конечно, javascript Вы знаете, вернее, имеете минимальные навыки написания на нем скриптов). Никаких регулярных выражений или функций для работы с текстом не требуется. В зависимости от того, что выдает свойство appName, надо подключать таблицу стилей.

Таблица style.css у Вас умолчательная - поэтому ее следует подключить в начале. Тогда, если будет выбрана другая таблица, то ее содержимое просто перезапишет содержимое умолчательной.

Независимо от того, работает Javascript или нет, без таблицы стилей Ваша страница не останется. Ведь умолчательная таблица уже подключена.

Если с javascript Вы не дружите(что, прямо скажем, плохо для человека, который разрабатывает сайты; javascript знать надо), то Вы всегда можете отследить, как называется тот или иной браузер, выводя переменную $_SERVER['HTTP_USER_AGENT']. Грустно в этом методе то, что довольно большой текст - значение этой переменной - любит иметь ма-аленькие отличия в деталях. Деталями этими, как правило, являются версии браузеров. Поэтому было бы удобно воспользоваться регулярными выражениями, чтобы находить те или иные вхождения имен браузеров.
И все-таки советую javascript. PHP - это, конечно, сила, но все-таки браузер - приложение клиентское, и определять его лучше клиентским языком. Я склонен полагать, что в таком случае меньше вероятность ошибки.
С уважением, Бородин
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Товарищ Бородин (статус: Практикант)
Ответ отправлен: 10.01.2008, 08:28


Вопрос № 117.728
Здравствуйте! Решил сделать поиск по месяцу и году. Вставил в файл РНР сессию но Apache выдает ошибку в служебном теге: curl_init()
"Fatal error: Call to undefined function: curl_init() in z:homelocalhostwwwmatemalogsdate.php on line 66"
Подскажите как это исправить.

Приложение:

Отправлен: 10.01.2008, 08:53
Вопрос задал: Dimanq (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: GINes
Здравствуйте, Dimanq!

Судя по ошибке, отключена поддержка сURL. Как подключить сURL можете почитать здесь:
http://www.r-t-f-m.info/index.php?c=_text&f=13014
http://phpclub.ru/detail/article/curl
Также рекомендую обратиться к ответам на вопрос 104721:
http://rusfaq.ru/info/question/104721
Ответ отправил: GINes (статус: Студент)
Ответ отправлен: 10.01.2008, 09:02

Отвечает: Flynn
Здравствуйте, Dimanq!
Во первых я не понял зачем вам тут вообще потребовался CURL, если вы используете страничку на своем же хостинге. В чем проблема её подключить через тот же инклюд?
Во вторых сам Курл у вас работать не будет как вы того хотели. То что библиотека скорее всего не подключена уже ответили чуть раньше, но там еще функция curl_exec($ch); выдает результат у вас в пустоту и никуда в браузер, как подписано, его не выводит. Либо эхо вставте, либо присвойте какой переменной и выведете потом.
$ad = curl_exec($ch);
echo $ad;

Дальше вместо этого ужаса:
if ($month==1) {$mon_num="Январь";};
...
Лучше всего используйте связку switch ($month) {case "1":...break;case "2":break;}
А еще лучше запихнуть все месяца в массив и сразу выводить нужный элемент массива - $month_array[$month];

Так же у вас не стоит проверки на введенность данных - вначале только присовение из глобального массива, а потом уже было оно введено или нет - все отправляется в курл.
Ответ отправил: Flynn (статус: 8-ой класс)
Ответ отправлен: 10.01.2008, 15:20


Вопрос № 117.827
Добрый день уважаемые эксперты!!!
Мне срочно нужен ваш совет.
Каким образом можно поставить счётчик посещений на веб-сайт?
Времени настолько мало что если буду искать в книгах просто не успею.
Если не сможете помочь с прямым кодом счётчика то дайте пожалуйста пару ссылок где можно почитать про это.

Огромное спасибо.
Отправлен: 10.01.2008, 17:33
Вопрос задал: Макс Коваленко Юрьевич (статус: 1-ый класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Товарищ Бородин
Здравствуйте, Макс Коваленко Юрьевич!
Если мало времени, то советую воспользоваться счетчиками, предоставляемыми liveinternet.ru или каким-нибудь подобным. Никаких проблем - регистрируете сайт в сервисе, получаете код счетчика, вставляете в любое место на сайте, и красота.
Удачи Вам!
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Товарищ Бородин (статус: Практикант)
Ответ отправлен: 10.01.2008, 17:37

Отвечает: Yumark
Здравствуйте, Макс Коваленко Юрьевич!

Я делал так (код в приложении).
Этот код вставлял в файл index.php, рядом с index.php вставлял файлик counter.txt (всё его содержимое - это единственный символ "0" (ноль) )

При открытии файла index.php этот ноль заменялся на 1 (и т.д.)

Приложение:

Ответ отправил: Yumark (статус: 3-ий класс)
Ответ отправлен: 10.01.2008, 18:00

Отвечает: GINes
Здравствуйте, Макс Коваленко Юрьевич!

На мой взгляд очень хорошие счётчики у top.mail.ru.
Но если всё же Вам по каким-то причинам не подходят подобные счётчики посещений и Вам нужен именно исходник счётчика, то можете обратиться к следующей статье: http://www.internet-technologies.ru/articles/article_942.html
Удачи!
Ответ отправил: GINes (статус: Студент)
Ответ отправлен: 10.01.2008, 18:03

Отвечает: Hid
Здравствуйте, Макс Коваленко Юрьевич!
Проще всего зарегистрироваться на каком-нибудь сервисе, предоставляющем подобную услугу и, получив код счетчика, вставить его в подлежащие учету страницы.
Я пользуюсь
http://hotlog.ru
пример счетчика можете посмотреть на моем сайте
http://vsiakabiaka.jino-net.ru/
в самом низу страницы.
Удачи!
Ответ отправил: Hid (статус: 3-ий класс)
Ответ отправлен: 10.01.2008, 20:44


Вопрос № 117.842
Здравствуйте, уважаемые эксперты!
С помощью функции bin2hex() можно картинку *.jpg представить в формате а-ля:
ffd8ffe000104a46494600010200006400640000ffec00114475636b7900010004 и тд...
Объясните пожалуйста, как потом имея текстовый документ с подобным кодом получить обратно файл формата *.jpg.
Заранее спасибо!
Отправлен: 10.01.2008, 18:53
Вопрос задал: WolandV (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Селев Валерий
Здравствуйте, WolandV!

Попробуйте так:

$jpegBinary = pack("H*", $str);
Ответ отправил: Селев Валерий (статус: 6-ой класс)
Ответ отправлен: 10.01.2008, 18:59
Оценка за ответ: 5
Комментарий оценки:
Спасибо огромное! Сразу все заработало! Забыл * поставить... )) А зачем она вообще нужна?


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.69 от 06.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное