Архив рубрики ‘PHP’

дамп таблицы mysql стран мира

Пятница, 9/10/2009

В файле 2-х значные и 3-х значные ISO коды и имена стран мира на английском языке.

скачать countries.sql

дамп таблицы mysql штатов США

Среда, 30/09/2009

Тут 2-х значные коды и имена штатов + какието военные бызы, короче 60 с гаком записей.

скачать states.sql

Аналог функции file_get_contents() для загрузки данных с посторонних ресурсов (используем библиотеку curl)

Понедельник, 20/07/2009

В случае необходимости сграбить что-либо я использую curl. По моему мнению, он работает быстрее. Выносим блок кода в отдельную функцию и комфортно используем, также как и file_get_contents(). Последнюю лучше использовать для чтения локальных файлов, хотя скорее всего набор fopen/fread/flose будет лучше, но в единичных случаях это не критично и сейчас речь не об этом.

  1. function http_request($url)
  2. {
  3.     $curl_handler = curl_init($url);
  4.     curl_setopt($curl_handler, CURLOPT_RETURNTRANSFER, 1);
  5.     $response = curl_exec($curl_handler);
  6.     curl_close($curl_handler);
  7.     return $response;
  8. }

MySql backup command

Суббота, 9/05/2009

Для бэкапа базы данных mysql можно использовать следующую backup command в cron :

/usr/bin/mysqldump -uUser -pPassword DatabaseName | gzip > /path/to/document/root/backups/DatabaseName.DB.`date`.gz 2>&1

Путь к утилите mysqldump может быть разный. Его уточнить у техподдержки хостинга. Это же касается и gzip. Дату можно отформатировать. Для этого заменяем `date` на `date +%Y%m%d`. Но не на всех хостингах это корректно работает или я не шарю, хз…

А, вот ещё: вот эта примочка 2>&1 нужна для того чтобы ошибки при выполнениии команды перенаправлялись в первый поток - то есть в файл. Логично по сути - 2 источник в первый поток.

Функция генерации кода/ключа активации для подтверждения регистрации на сайте

Пятница, 3/04/2009

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

Предлагаю такой вот незамысловатый способ. Константные значения храним в константах (извиняюсь за тавтологию :) )

  1. define(‘ACCOUNT_ACTIVATION_KEY_LENGTH’, 20);
  2. define(‘ACCOUNT_ACTIVATION_KEY_SYMBOLSET’, ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789′);

И, собственно, сама функция:

  1. function activation_code($length = ACCOUNT_ACTIVATION_KEY_LENGTH)
  2. {
  3.     $code = ;
  4.     $set = ACCOUNT_ACTIVATION_KEY_SYMBOLSET;
  5.     $max = strlen($set) - 1;
  6.     for ($i = 0; $i < $length; $i++)
  7.     {
  8.         $code .= $set{rand(0, $max)};
  9.     }
  10.     return $code;
  11. }

Эту функцию можно также использовать и в качестве генератора пароля - как нового, так и не совсем - для замены забытого)) Стоит лишь изменить константу ACCOUNT_ACTIVATION_KEY_LENGTH на нужную длину пароля, например, 6.

PCRE: Краткое описание синтаксиса

Воскресенье, 28/09/2008

Выдрал себе на сайт на мой взгляд самое удачно написанное краткое описание синтаксиса, дабы больше не рыскать в инете в его поисках….

(more…)

Новые возможности PHP 5.3

Понедельник, 5/05/2008

Неудержался и я не написать в своем блоге о выходе в релиз в недалёком будущем новой версии PHP, постепенно поднимая язык на более высокий уровень.

Ilia Alshanetsky, один из основных разработчиков PHP, представил презентацию возможностей (PDF, 2 Мб) будущего релиза PHP 5.3.

В PHP 5.3 будет представлено:

  • namespaces - изолированные от остального кода пространства имен для классов, функций и констант.
  • “late static binding” - привязка к вызываемому классу, вне контекста наследования (возможность поучить имя класса, вызванного для выполнения статического метода);
  • mysqlnd - новый MySQL драйвер, работающий напрямую с MySQL, без использования libmysql;
  • __callStatic
  • поддержка OpenID
  • user.ini с привязкой к директориям наподобие .htaccess,
  • XSLT профайлинг
  • многоплатформенный getopt()
  • поддержка Sqlite3

материал взят с opennet.ru

PHP 5.2.6 Released

Понедельник, 5/05/2008

Вот недавно на днях все желающие обновились на новую 5.2 версию пыхи. Кое какие фиксы, а так ничё особенного, ждём с нетерпением 5.3, а с ещё большим - 6-ой версии, которая осилит UTF, да и ваще много там чего будет. Возвращаемся к последнему релизу: что пишут на сайте производителя

Security Enhancements and Fixes in PHP 5.2.6:

  • Fixed possible stack buffer overflow in the FastCGI SAPI identified by Andrei Nigmatulin.
  • Fixed integer overflow in printf() identified by Maksymilian Aciemowicz.
  • Fixed security issue detailed in CVE-2008-0599 identified by Ryan Permeh.
  • Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz.
  • Properly address incomplete multibyte chars inside escapeshellcmd() identified by Stefan Esser.
  • Upgraded bundled PCRE to version 7.6

Качать тут: http://www.php.net/downloads.php

Zend и Smarty

Среда, 23/04/2008

Чтобы использовать шаблонизатор Smarty в Zend Framework‘е можно или расширить базовый класс Zend_View_Abstract или же создать новый, реализующий интерфейс Zend_View_Interface.
(more…)

Время выполнения php-скрипта

Среда, 16/04/2008

время выполнения скрипта php в секундах с длинной дробной частью миллисекудн:

  1. <?php
  2.  
  3. $total_time = explode(‘ ‘, microtime());
  4. $total_time = $total_time[0]+$total_time[1];
  5.  
  6. /*
  7.       сам php скрипт
  8. */
  9.  
  10. $total_time2 = explode(‘ ‘, microtime());
  11. $total_time2 = $total_time2[0] + $total_time2[1];
  12.  
  13. echo ‘<br />Total: ‘ . ($total_time2 - $total_time);
  14.