http://riobautista.wordpress.com/2008/01/08/accessing-a-pop3-mailbox-using-php/

http://www.damnsemicolon.com/php/parse-emails-in-php-with-email-piping-part-2

http://www.damnsemicolon.com/php/php-parse-email-body-email-piping

Отсутствуя год заметил, что счетчик посещений некоторых страничек просто зашкаливает. Связано это, как выяснилось, с тем, что помимо реальных пользователей страничка генерируется и для поисковых ботов. Поэтому была нужна функция, которая бы определяла идет текущий запрос к странице от бота или от пользователя. Используя HTTP_USER_AGENT, можно узнать, если страница посещается ботом:

function isBot(&$botname = ''){
/* Эта функция будет проверять, является ли посетитель роботом поисковой системы */
	$bots = array( 
		'rambler','googlebot','aport','yahoo','msnbot','turtle','mail.ru','omsktele',
		'yetibot','picsearch','sape.bot','sape_context','gigabot','snapbot','alexa.com',
		'megadownload.net','askpeter.info','igde.ru','ask.com','qwartabot','yanga.co.uk',
		'scoutjet','similarpages','oozbot','shrinktheweb.com','aboutusbot','followsite.com',
		'dataparksearch','google-sitemaps','appEngine-google','feedfetcher-google',
		'liveinternet.ru','xml-sitemaps.com','agama','metadatalabs.com','h1.hrn.ru',
		'googlealert.com','seo-rus.com','yaDirectBot','yandeG','yandex',
		'yandexSomething','Copyscape.com','AdsBot-Google','domaintools.com',
		'Nigma.ru','bing.com','dotnetdotcom'
	);
	foreach($bots as $bot)
		if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false){
			$botname = $bot;
			return true;
		}
	return false;
}

Использовать очень просто:

if( !isBot() )$hits=$hits+1;// накручиваем счетчик если запрос не от бота
// или так
$bname = '';
if( isBot($bname) ) echo 'На сайте сейчас '.$bname;

 

Не так давно Google закрыл API для своего Google Translate, в результате множество скриптов для автоматического перевода текста просто перестали работать. Программисты вынуждены были написать скрипт, который парсит переведенный текст из самого переводчика. Этот класс может переводить тексты между двумя языками с помощью Google Translate. Он может послать HTTP  запрос  на  сайт и перевести текст между двумя заданными языками.
Класс парсит возвращенную Google Translate страницу результата и возвращает переведенный текст извлеченный из страницы.

RSS канал на свой блог я прикрутил давно, взяв php скрипт  из Danneo CMS. Вот только радость моя была не долгой, скрипт не давал валидный rss, и любимая Opera кричала что-то невразумительное об ошибке XML. Тогда я решил написать rss генератор сам,  но так как не очень люблю строить велосипеды, сперва я решил поискать готовое решение.

Попробовав кучу скриптов мой выбор пал на скрипт из phpclasses.org, также можете скачать на моем сайте

Скрипт поддерживает генерацию:

  • RSS 1.0 
  • RSS 2.0
  • ATOM 1.0

 

В php есть замечательная функция работы со временем strtotime. Она преобразует строковое представление даты в UNIXTIME формат(количество секунд, прошедшее с 1-го января 1970-го года). Удобна она прежде всего тем, что в нее можно подавать данные, введенные пользователем в форме, к примеру, дату рождения. На выходе мы получим удобный unixtime, с помощью которого можно проводить различные валидные сортировки по дате.

Приведу пример:

echo strtotime('8-12-1986'); // вернет 534366000 

что эквивалентно

echo mktime(0,0,0,12,8,1986);

Но что если ваш пользователь пришлет на вход функции такой формат '8 12 1986'. В этом случае 

echo strtotime('8 12 1986'); // вернет false

Функции просто не понятно, что здесь день, что здесь месяц, а что год. Как решить данную проблему? Как показать php формат введенной даты? 

Подкатегории

Все о разработке на фреймворке Yii