Система построения сайта SBS "Web-Pro"
Средство для создания и удобного управления сайтом, имеющее расширенные
по сравнению с CMS (Content Management System) характеристики.
Более 5 лет успешного использования.
Подробнее
|
Записки web-программистаPHP и web-программированиеПарсинг длинных строк, проблема preg_match_all()При поиске подстроки длиной более 99992 байта функция preg_match_all() выдаст пустой результат. Проблема решается установкой большего значения параметра pcre.backtrack_limit в php.ini - по умолчанию его значение 100000. Наличие превышения лимита можно проверить через preg_last_error().
Рейтинг: 1.0. Голосов: 1
(0) Добавить комментарий
PHP-скрипт в шелле
#! /usr/local/bin/php
Рейтинг: 10.0. Голосов: 1
(0) Добавить комментарий
Простая работа с XML на PHPPHP 5 предоставляет удобный упрощенный способ работы с XML - SimpleXML. Поддержка включена по умолчанию. XML-данные можно прочитать из файла или из переменной, и они будут представлены как обычный объект PHP. Нужно учитывать, что верхний тег XML-данных не включен в объект, а является его именем (функция getName()). Есть несколько правил: - числовой индекс ("$xml_data->body->p[0]") обозначает конкретный элемент,- нечисловой индекс ("$xml_data->body->p['align]") обозначает атрибут элемента, - значение элемента выводится как текст БЕЗ потомков. Для вывода потомков следует использовать функцию asXML(). Следует помнить, что конструкция вида $xml_data->node выдаст объект даже, если этот узел содержит число. Это нужно учитывать при числовых операциях, делая преобразование intval(). Однако если есть несколько узлов с именем "node", то $xml_data->node будет являться массивом, и его можно перебрать через foreach(), тем не менее print_r() выдаст первое значение этого массива. Так можно получить всех потомков тега "body": $xml_data->body->children() Так можно получить атрибуты тега "a": $xml_data->body->p[0]->a->attributes(); Записать изменные данные можно, например, так: file_put_contents('filename.xml',$xml_data->asXML());
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Как отключить выполнение PHP в папкеМожно добавить в .htaccess в нужной папке:
В некоторых случаях может понадобиться отключение rewrite'а:
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Склонение слова в зависимости от числаВ $w1, $w2, $w3 нужно задать слова для разных случаев.
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Как разрешить доступ к сайту только с одного IP-адресаПишем в .htaccess:
Рейтинг: 10.0. Голосов: 1
(0) Добавить комментарий
Как сделать выборку случайных записей из таблицыПростейший вариант:
НО такой вариант сильно грузит сервер, особенно при большом количестве записей,
т.к. происходит создание временной таблицы равной исходной таблице.
Можно предварительно подготовить массив идентификаторов и, используя его,
выбрать случайные записи (по одной) с использованием "UNION".
Такой вариант также может создать нагрузку, если нужно выбрать большое количество
записей или таблица содержит сотни тысяч записей.
Третий вариант предполагает замену "UNION" на:
Имеет место заметное ускорение работы.
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Удобный способ работы с датойВ PHP 5.2 появился класс для работы с датой - DateTime. Его удобно применять для модификации даты, а также вычисления возраста, например:
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Настройка параметров PHP при работе в режиме FastCGIВсе настройки видаphp_flag параметр значениекоторые в других случаях прописываются в .htaccess, здесь необходимо указывать в php.ini в виде: параметр=значение;
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Поиск и замена найденного фрагмента через preg_replace()$descr = preg_replace("/\[IMG (.*?) LEFT]/", '<img src="index.php?img=data/pictures/\\1" />', $tmp1[1]);
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
timestamp в PHP только примерно до 2020 г.
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Замена с вставкой найденного фрагмента$content->body_f = preg_replace("/\[IMG(.*?)\]/", "-\\1---------", $content->body_f);
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Примеры rewriteRewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !^(.*)[gif|css|jpg|htm|js|swf|cm|index.phtml]$ RewriteRule ^(.*)$ /tourism/index.phtml Слеш в концеRewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+[^/])$ $1/ [R] Редирект с адреса с www на адрес без wwwRewriteCond %{HTTP_HOST} ^www.example.ru$ [NC] RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L] Редирект на другой сервер с сохранением структуры страницOptions +FollowSymLinks RewriteEngine on RewriteRule (.*) http://www.example.ru/$1 [R=301,L]: IE "name" и "id" воспринимает как одно и то же...... при получении через getElementById().
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Кириллица и сортировка в PHPНекоторые PHP-функции могут работать некорректно с кириллицей, если не выполнить установку локали (делается до вызова функции):setlocale (LC_CTYPE, "ru_RU.CP1251");
или setlocale (LC_CTYPE, "ru_RU.UTF-8");
К таким функциям относятся функции поиска, замены (preg_match, preg_replace, str_ireplace), а также запросы в базу данных. После применения этой функции с параметром LC_ALL могут измениться региональные настройки для чисел, в частности точка смениться на запятую в числах, что повлечет ошибки при работе с числами.
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Сравнение полей типа floatMySQL неверно работает (точнее так устроено) при сравнении float-полей - округляет. Поэтому вместо простого "field>value" надо использовать запрос типа:
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Если неверно работает сортировка в MySQL 4Проблему можно решить написанием запросов с "binary":
Это же справедливо и для строковых полей, по которым производится выборка.
Для MySQL 5+ нужно внимательно относиться к collation. Неверно загруженный дамп
вызовет ошибки выборки и сортировки, хотя тексты на сайте могут смотреться корректно.
Для корректной работы использовать phpMyAdmin не ниже 2.10.3.
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
HTTP-заголовки определены в RFC1945 (HTTP/1.0) и RFC2068 (HTTP/1.1)
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
Если нужно, чтобы директивы PHP обрабатывались в файлах .html и .htm......то необходимо создать файл .htaccess. Действие этого файла будет распространятся на текущую и на все расположенные ниже директории. Файл должен содержать строку вида:AddHandler php-script .html .htm
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
При сохранении из textarea......нужно проверять get_magic_quotes_gpc(), например:
if (get_magic_quotes_gpc()) $settings = stripslashes($settings);
Рейтинг: 0.0. Голосов: 0
(0) Добавить комментарий
|