Category Archives: PHP

PHP Tricks, Tips, Ideas, Other Shit

Python, PHP и HTTP запросы

Припёрло тут такое дело: Наш всеми любимый google решил сделать свой новый сервис, Google Sitemaps. Этот сервис по идее хорош – у кого сайт плохо индексируется – тот мог составить список ссылок и это дело подлечить. Но где гарантия, что конкуренты, сделаф фиктивный акаунт вас не попытаются опустить? Интерестно, куда это дело продвиниться?
Естественно – ну надо же это дело опробывать. Тем более они предлагали взять готовый, ими же написанный скрипт на Python, который, как олазалось, проходил по сайту через файловую систему, и собирал все пути до файлов, которые находил, и вы ему разрешали взять. Такой путь подходит только если для статичных сайтов, как у моего тестя. Да и то – там сайт весь на PHP и mod_rewrite хитрый. А большие сайты, которые никогда не думали о том, что такая фишка будет, Google Sitemap сгенерить не могут. Тем более не на каждом сервере Python есть.
Появилась нужда, этот процесс сборки урлов автоматизировать. Ну не садиь же китайцев/студентов это дело делать.
Первая мысль – взять PHP, найти старый, мною писаный индексатор сайтов на cURL, где каждую страницу доставали за 2 обращения к серверу (вначале HEADER, потом, если наш формат – BODY). Что меня особо не вставило. Потому я решил обратиться к более современным языкам и интерпретаторам. Выбор пал на Python.
Continue reading →

Код, стиль и PHP

Вот ненавижу я PHP код, когда он отформатирован типа:

if ([condition]) 
{
	<statement>
		<statement>
<statement>
}
else
{
<statement>
	<statement>
		<statement>
}

И обьяснить немогу, почему. Но читать немогу совсем.
Зато такой:

if ([condition])  {

	<statement>
	<statement>
	<statement>

} else {

	<statement>
	<statement>
	<statement>

}

читаю без проблем.

Книги о PHP и register_globals = off

Как известно, о PHP писали, пишут и будут писать: книги, примеры, статьи, заметки, презентации и многое другое. Естественно всё это читается, рекомендуется, качается, разбирается – народ учиться – народу хочется быть крутыми Webmasterами – сторить порталы, блоги, WAP-чаты (последнее по моему вообще извращение).
Многие из новичков начинают с вопроса – какую бы книгу почитать? Естественно им рекомендуют что-то вроде: PHP & MySQL Website Development, или что-то в этом жанре. И мало кто берёт в голову что новички, пропустили нужные главы мануала об изменениях в PHP с тех пор, как были выпущены многие книги, наступит на теже грабли: register_globals = off.
Так вот, просьба, тыкайте новичков носом в первые главы мануала, а именно в I, II, III, IV, V и потом только давайте ему читать книги, статьи, презентации, но при условии что он уже знаком с основами TCP/IP, HTTP, HTML, CSS, знает что такое стандарты и где их искать.

Генерация паролей

Очень часто приходиться генерировать пароли, и казолось бы что тут сложного? Написал себе функцию и генерируй на здоровье. Для генерации обычно берут цифры от 0 до 9 и латинцкие символы от A до Z. И редко кто задумывается о том что в некоторых шрифтах, с некоторой слепотой 0 от O или o никак не отличить. Или 1 от l. Так сидеть, и мучаются пользователи, гадая какой это символ. Поэтому моя функция генерации пароля использует слегка обработанный набор символов для генерации, так что бы похожих символов небыло.

Собственно сам код:

function gen_passwd ( $len) {
    $res = '';
    $useChars = '23456789ABCDEFGHKMNPQRSTUVWXYZabcdefghkmnpqrstuvwxyz';
    $useChars .= $useChars;
    for ($i = 0; $i < $len; $i++ ) {
       $res .= $useChars[mt_rand ( 0, strlen ( $useChars)-1)];
    }
    return $res;
}