Я бы изменил мир!
Но Бог не дает мне исходники!
где мне их скачать то?

 
Сортировать статьи по: дате | популярности | посещаемости | комментариям | алфавиту

PHP список файлов

Автор: nikba от 10-12-2010, 18:31

Список файлов в директории

scandir - Получить список файлов и каталогов в отсортированном виде (по умолчанию, сортировка в алфавитном порядке по возрастанию). Функция появилась в PHP5.

 

 

$file_list = scandir('/tmp');

// или для сортировки по убыванию так: $files2 = scandir($dir, 1);

 

/* Результатом будет нечто вроде:

 

Array (      

[0] => .      

[1] => ..      

[2] => bar.php      

[3] => foo.txt      

[4] => somedir

)

 

*/

 

 

Если ещё используете PHP4, то смотрим в сторону opendir, readdir или dir.

 

Список файлов с определенным расширением

glob - Функция glob() ищет все пути, совпадающие с заданным шаблоном (функция поддерживает различные флаги - смотрим документацию).

$file_list = glob("./img/*.png"); // получить все PNG файлы из каталога ./img

Определение тИЦ на PHP

Автор: nikba от 10-12-2010, 18:22

Для определения Яндекс тИЦ (тИЦ - тематический индекс цитирования) пойдем тем же путем что и расширение Яндекс.Бар. Чтобы проверить тИЦ Яндекс.Бар посылает запрос по адресу http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://www.сайт.ru и получает XML документ следующего вида:

 

 

<urlinfo>

<url domain="www.сайт.ru">/</url>

<tcy rang="4" value="250"/>

<topics> </topics>

<textinfo> </textinfo>

</urlinfo>

 

Значение тИЦ - это значение аттрибута value элемента tcy, вот его и нужно выдрать из документа, а как смотрите ниже:

 <?php

 function getTCY($url)

 {

  //считываем XML-файл с данными

$xml = file_get_contents('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.$url);

 

//если XML файл прочитан, то возвращаем значение параметра value, иначе возвращаем false - ошибка

return $xml ? (int) substr(strstr($xml, 'value="'), 7) : false;

}

?>

 

Теперь чтобы узнать тИЦ Яндекса нужно вызвать функцию getTCY и передать ей в качестве параметра URL сайта:

Редирект после POST запроса

Автор: nikba от 10-11-2010, 23:06
Каждый веб-разработчик знает, что после POST сабмита формы желательно сделать редирект, чтобы предотвратить повторную отправку данных, когда пользователь захочет обновить страницу. В основном это критически необходимая операция, так как данные формы могут сохраняться в базе данных или учавствовать в платёжной транзакции. И тогда данные не только продублируются, но и спишутся лишние деньги.

Но речь не о деньгах, а о правильном редиректе…

Практически все веб-приложения при редиректе POST запроса возвращают статус 302 Found. Например, в php редирект делают так: header('Location: /new/location');. Без дополнительных параметров или если отдельно не указан другой статус, функция вернёт именно 302 Found.

Хранение изображений в базе данных MySQL

Автор: nikba от 5-11-2010, 02:53
Для хранения изображений в базе данных MySQL необходимо определить одно из полей таблицы как производное от типа BLOB. Сокращение BLOB означает большой двоичный объект. Тип хранения данных BLOB обладает несколькими вариантами:
  1. TINYBLOB - может хранить до 255 байт
  2. BLOB - может хранить до 64 килобайт информации
  3. MEDIUMBLOB - до 16 мегабайт
  4. LONGBLOB - до 4 гигабайт
Соответсвенно, для хранения изображений нам надо создать таблицу images с двумя полями:
  1. id - уникальный ID изображения
  2. content - поле для хранения изображения

Ловим мобильных клиентов

Автор: nikba от 4-11-2010, 22:38
PHP-класс, который позволит определить факт захода на Ваш сайт с мобильного телефона.

class Client
{
    /**
     * Доступные мобильные клиенты
     */
    private $_mobileClients = array(
        "midp",
        "240x320",
        "blackberry",
        "netfront",
        "nokia",
        "panasonic",
        "portalmmm",
        "sharp",
        "sie-",
        "sonyericsson",
        "symbian",
        "windows ce",
        "benq",
        "mda",
        "mot-",
        "opera mini",
        "philips",
        "pocket pc",
        "sagem",
        "samsung",
        "sda",
        "sgh-",
        "vodafone",
        "xda",
        "iphone",
        "android"
    );

    /**
     * Проверьте, если клиент мобильный клиент
     * @return boolean
     */
    public function isMobileClient($userAgent)
    {
        $userAgent = strtolower($userAgent);
        foreach($this->_mobileClients as $mobileClient) {
            if (strstr($userAgent, $mobileClient)) {
                return true;
            }
        }
        return false;
    }
}

Использовать так:

$client = new Client();
$isMobileClient = $client->isMobileClient($_SERVER['HTTP_USER_AGENT']);

PHP, проверка вводимых пользователем данных

Автор: nikba от 4-11-2010, 22:34
Никогда не стоит доверять вводимым пользователем данным, ибо их некорректность зачастую может привести не просто к ошибке, но в худшем случае и даже к крушению сервера базы данных.
Конечно, ввод некорректных данных не всегда производится с целью взлома сайта. Другой очень частой причиной является просто невнимательность пользователя.
Здесь я опишу методы проверки вводимых данных на корректность.

Прячем email-адреса от спамеров

Автор: nikba от 4-11-2010, 22:29
Не для кого не секрет, что в настоящее время лучше не оставлять свой email-адрес в открытом виде на просторах интернета. Причиной этому являются спам-роботы, извлекающие из страниц адреса электронной почты и добавляющие их в спам-базу.
А как же-тогда безопасно размещать свой адрес на открытом ресурсе? Для простых пользователей интернета это вопрос не принципиальный, ибо у них такой необходимости почти не возникает, а вот для интернет-коммерсантов это важно.

Сжатие CSS и Java Script с помощью PHP и mod_rewrite

Автор: nikba от 3-11-2010, 23:03
Суть этого метода заключается в том, что скрипт будет считывать CSS или javascript файл и автоматически убирать различные необязательные символы, будь-то пробелы, переносы строк, комментарии и прочее... На выходите мы получаем оптимизированный CSS или JS файл. Реализуется все это довольно несложно.

PHP Redirect Code HTTP status

Автор: nikba от 3-11-2010, 00:41
От номера кода "HTTP status" отправляемого вебсервером клиенту в заголовках зависит то каким образом отдаваемую странцу воспринимают броузеры и поисковые роботы, поэтому если вы используете заголовок location, то хорошей идеей будет сразу уже устанавливать соответствующий HTTP status code.
При 307-ом редиректе броузеры каждый раз сначало пробуют загрузить исходную страницу на которой был временный редирект, кэшируют результаты редиректа с кодом 302 - на время сессии, и а с кодом 301 - практически навсегда.
Поисковые системы, как правило, переносят значение pagerank со страниц с 301-ым редиректом, на страницу назначения, при чем в случае с другими кодами: 302, 303 или 307 - этого не происходит. Если статус код не указан (как это обычно делалось у меня smile.gif ) отправляется код 302.

PHP отправка ICQ сообщений (CLASS)

Автор: nikba от 2-11-2010, 00:36
Сервис по обмену мгновенными сообщениями ICQ на сегодняшний день превышает отметку несколько десятков миллионов активных пользователей. Хочу поделиться простой библиотекой, обеспечивающей возможность отправки сообщений в мгновенном режиме на определенный ICQ номер. Для его работоспособности, понадобиться зарегистрировать дополнительный аккунт в системе (с которого собственно и будут отправляться сообщения).
Назад Вперед
Наверх

Веб-мастер (англ. webmaster) — человек, профессионально или в качестве хобби занимающийся разработкой веб-сайтов в Интернете или корпоративных приложений в интранете.