Показаны сообщения с ярлыком php. Показать все сообщения
Показаны сообщения с ярлыком php. Показать все сообщения

воскресенье, 14 ноября 2010 г.

Web-программирование - получение кода страны для отображения флага по названию

При разработке веб-сервисов и сайтов иногда бывает необходимо отображать флаги стран (их изображения) по их названию. Для решения таких задач можно воспользоваться сервисом http://opencountrycodes.appspot.com/, который может отдавать их согласно стандарту ISO 3166-1 alpha-2. Примеры таких флагов можно найти и скачать в архиве на сайте famfamfam.com, где, например, для России есть файл ru.gif. Название файла "ru" и есть двухбуквенный код России (Russian Federation).

Приведенный ниже код на PHP будет получать с сервиса XML-данные и создавать на выходе файл country_code_names.php с массивом соответствий код=>страна $countrycodes, который можно инклюдить непосредственно или преобразовать в необходимый вид:


<?php

$xml = file_get_contents('http://opencountrycodes.appspot.com/xml/');
$xmlel = new SimpleXMLElement($xml);
$out = '$countrycodes'." = array(\n";
foreach ($xmlel->country as $country)
{
$code = strtolower($country['code']);
$out .= "'$code' => \"{$country['name']}\",\n";
}
$out .= ");";

file_put_contents('country_code_names.php', $out);

?>

понедельник, 8 марта 2010 г.

PHP из Unicode в ANSI

Дабы в PHP не йбацо с кодировками, давно придумали iconv:

$title = iconv("UTF-8", "CP1251", $row['title']);

суббота, 31 октября 2009 г.

Закрытие ссылок с постов пользователей в vBulletin с помощью rel nofollow

Для закрытия ссылок на форуме с движком vBulletin я ещё год назад применил следующую методику:

Открываем файл _Директория vBulletin_/includes/class_bbcode.php, и находим там функцию обработки ссылок:


function handle_bbcode_url($text, $link)

В функцию в качестве параметров передаются:

$text - текст ссылки, указанной пользователем, и

$link - сама ссылка.

Эта функция занимается обработкой ссылок в посте пользователя. В конце концов, переменная $rightlink содержит ссылку, а $text - текст ссылки. После обработки, возвращает строку вида:

return "<a href=\"$rightlink\" target=\"_blank\">$text</a>";

Для закрытия ссылок, а именно, закрытие ссылок параметром rel=nofollow, надо всего лишь добавить наш параметр в указанный выше код:



return "<a href=\"$rightlink\" rel=\"nofollow\" target=\"_blank\">$text</a>";

Однако, вдруг нам надо закрывать не все ссылки?
Более детальная настройка: Мы хотим, чтобы ссылки на наш форум не закрывались. И ещё, рассмотрим случай, когда наш форум установлен в папке сайта, то есть типа: http://www.example.com/forum/ - ведь тогда желательно не закрывать ссылки в vBulletin и для домена www.example.com. И ещё сайт example.ru является нашим доменом. Тогда перед return пишем:



$pos1 = strpos($rightlink, 'example.com');
$pos2 = strpos($rightlink, 'example.ru');

if ( ($pos1 === false) && ($pos2 === false) ) {
$relnofollow = "rel=\"nofollow\"";
}
else
$relnofollow = "";

А сам return изменяем в виде:

return "<a href=\"$rightlink\" ".$relnofollow." target=\"_blank\">$text</a>";

Стоит отметить, что таким же образом Вы можете закрыть ссылки и тегами noindex для Яндекса. Однако, стоит ли закрывать ссылки от Яши, раз она всё равно не учитывает их при расчёте тИЦ?

Таким же образом, можно сделать всё что угодно с нежелательными урлами.

воскресенье, 5 июля 2009 г.

Получение реального IP-адреса на PHP

IP-адрес посетителя веб-страницы получается на PHP с использованием $_SERVER['REMOTE_ADDR']. Однако не во всех случаях оно работает. Ваш клиент может подключаться к Интернет через использование прокси-сервера, и тогда $_SERVER['REMOTE_ADDR'] в PHP вернёт всего лишь адрес прокси, а не клиентский адрес. Поэтому приведу функцию на PHP для получения реального IP-адреса машины посетителя сайта. Имеются расширенные серверные переменные для этого, это HTTP_CLIENT_IP и HTTP_X_FORWARDED_FOR.

Функция для получения реального IP-адреса в PHP


function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) // Определение IP-адреса
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) // Проверка того, что IP идёт через прокси
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}

В этой PHP функции сначала пытаемся получить непосредственно адрес компьютера пользователя, если невозможно - то используем HTTP_X_FORWARDED_FOR. Если и оно недоступно, то в конце берём IP-адрес используя REMOTE_ADDR.

вторник, 12 мая 2009 г.

Zend Framework 1.8 – разработка веб-приложений с поддержкой «облачных» сервисов и RAD

Компания Zend Technologies (The PHP Company) выпустила новую версию своего фреймворка для разработки веб-приложений Zend Framework 1.8 на базе технологии PHP. В новую версию платформы Zend Framework добавлены новые возможности RAD (Rapid Application Development) для ускорения разработки. К тому же, разработчики на PHP теперь имеют возможность полноценной работы с сервисами «облачных» вычислений компании Amazon (Amazon's EC2 cloud computing service).


Релиз 1.8 фреймворка Zend Framework - это первое обновление в текущем году. Предыдущий релиз 1.7 привнёс собой поддержку Adobe AMF (Action Message Format) и была выпущена в ноябре прошлого года.


Zend Framework 1.8 полностью совместима с сервером веб-приложений Zend Server. При помощи встроенных инструментов сервера, фреймворк теперь позволяет искать коренные причины сбое в работе приложений на PHP. Реализована также работа с кешированием сервера Zend для кэширования объектов и данных в памяти.

Скачать Zend Framework 1.8 можно бесплатно с сайта разработчика Zend. Также Zend Framework 1.8 поставляется вместе с бесплатной редакцией Zend Server Community Edition и с коммерческой версией Zend Server. Также поставляется в составе многих дистрибутивов Linux (Линукс).

Подробнее об этой новости можно почитать на английском PHP Speeds to the Cloud With Zend Framework 1.8.

понедельник, 2 июня 2008 г.

Пасхальные яйца (шутки) программ

Пасхальное яйцо (англ. Easter Egg, сленговое пасхалка) — секрет, оставляемый в игре, фильме или программном обеспечении создателями, своеобразная шутка для внимательных зрителей/игроков. Как правило, в качестве "пасхального яйца" выступает список разработчиков. В интернете нашёл кучу сайтов, посвящённых коллекционированию их описаний. Вот некоторые примеры.

Игры

В игре Mafia: The City of Lost Heaven в одном из районов города можно найти спрятанный от глаз автомобиль. Сев в него и немного покатавшись игрок замечает, что у автомобиля постепенно начинают пропадать элементы корпуса (и не только). Это пасхальное яйцо является классическим примером шуток разработчиков игр.

Браузер

The Book of Mozilla — пасхальное яйцо, встроенное в браузеры серии Netscape и Mozilla, и основанные на них. Впервые появилось в браузере Netscape 1.1, выпущенном в 1995 году.

PHP

PHP имеет несколько пасхальных яиц (шуток).

Если передать любому php-скрипту в PHP4 специальное значение, можно увидеть авторскую фотографию (обычно фотография чёрного терьера).

любой_сценарий.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

Если же этот код передать в PHP 5, то увидим несколько «корявый» логотип PHP.

Следующие два значения, позволят увидеть стандартный логотип PHP и ZEND:

любой_сценарий.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
любой_сценарий.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42

Также имеется специальное значение для отображения списка всех авторов PHP (4,5):

любой_сценарий.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

Delphi

Easter Eggs в программе Delphi тоже присутствуют.

Меню Help | About
Окно About
Удерживая нажатой клавишу Alt, набирайте следующие слова:
В версии 1: AND
В версиях 3 и 4 Client/Server: CHUCK, QUALITY, VERSION
Во всех версиях: DEVELOPERS, TEAM
На версии Delphi 7 также замечено, что в некоторых случаях запуск IDE Delphi 7 сопровождается появлением коллективной фотографии разработчиков.

Опубликовал: Ильдар Валеев

пятница, 9 мая 2008 г.

Новости CodeGear

Embarcadero Technologies приобретает CodeGear.

7 мая 2008 года объявлено о заключении соглашения между Embarcadero Technologies и Borland о продаже подразделения CodeGear. Объединенная компания будет одним из самых больших в мире производителем средств моделирования, разработки и оптимизирования баз данных и приложений баз данных, ориентированным на поддержку гетерогенных и кросс-платформеных средств разработки и СУБД.
Подробная информация и пресс-релиз находятся здесь: http://www.codegear.com/about/news/embt

JBuilder 2008.

Новая версия IDE для Java от компании CodeGear обеспечивает разработчиков мощными средствами для быстрой разработки приложений, повторного использования кода и поддерживает коллективную разработку. JBuilder 2008 включает в себя новый Swing-дизайнер и поддержку Application Factories.
Загрузить триальную версию и узнать больше:
http://www.codegear.com/products/jbuilder

Delphi For PHP 2.0.

Выпущена Delphi for PHP 2.0, новая версия средства быстрой разработки веб-приложений на языке PHP. Расширенный набор компонент, поддержка национальных языков и интегрированная поддержка MySQL и InterBase позволяют веб-разработчикам быстро и эффективно разрабатывать приложения.
Загрузить триальную версию и узнать больше:
http://www.codegear.com/products/delphi/php

Специальное предложение для учебных заведений: RAD Studio + JBuilder 2008.

В рамках программы поддержки учебных заведений CodeGear предлагает специальный комплект, позволяющий организовать преподавание на 3-х платформах (Win32, NET и Java) на 4 языках (Delphi, C++, Delphi for .NET и Java). Всего за $99 Вы получаете RAD Studio 2007 Professional и JBuilder 2008 (BLS Concurrent).
Для вузов с углубленным изучением технологий разработки программного обеспечения CodeGear предлагает RAD Studio 2007 Architect и JBuilder 2008 Enterprise (BLS Concurrent) по цене $299. RAD Studio 2007 Architect включает ECOIV с поддержкой ориентированного на модели программирования и конечных автоматов, а JBuilder 2008 включает в себя полную поддержку UML-моделирования и Application Factories.

Бесплатный триал-диск RAD Studio 2007 И JBuilder 2008.

Компания CodeGear проводит акцию по бесплатной рассылке триал-дисков по России. Мы знаем о том, что скачать достаточно большие объемы триал-версий RAD Studio и JBuilder во многих регионах затруднительно. Укажите свой почтовый адрес и контактные данные - и Вам будет бесплатно выслан набор триальных дисков, содержащих RAD Studio 2007 и JBuilder 2008. Запросите свой бесплатный триальный диск прямо сейчас:
http://www.codegear-events.eu/ru/trialdisk/trialdisk.html
Вы также можете получить данный триал-диск у партнеров, список партнеров на сайте www.codegear.ru