Записи, помеченные ‘PHP’

Аналог функции 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. }

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

Пятница, 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’шников:

Среда, 2/07/2008

http://www.codenet.ru/webmast/apache/Apache2-PHP5-MySql5/ ;)

Новые возможности 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.  

RST MySQL

Воскресенье, 23/03/2008

Нет под рукой phpMyAdmin, а на сайте нужно подправить базу данных. Дампить всю базу, изменять локально и потом поднимать на сервере не удобно, не правильно (потеря данных сайта в промежуток времени редактирования) и в конце концов просто лень. На помощь приходит чудо php скрипт в виде 1 фала, позволяющий выполнять запросы, смотреть, изменять ряды таблиц, а также делать дамп базы.

скачать RST MySQL v2.0

Asido - объектно-ориентированный resizer на php

Суббота, 15/03/2008

AsidoДля изменения размера и подгонки изображений на одном из сайтов я выбрал эту библиотеку.
Позволяет установить множество опций при изменении изображения, в тоже время достаточно простой в использовании.
Последняя версия на сайте http://asido.info/ (прямая ссылка)

(more…)