Web Мастерская
Удалить слеш в конце URL
Вчера написал код, который проверяет есть ли в конце текущего URL слеш (
Сам код:
Если надо удалять слеш только у одно файла, скажем у файла blog.php, то замените условие:
на:
А если требуется обратное - везде слеш удалять, а файл blog.php должен остаться со слешем, то условие будет таким:
Еще один способ удаления слеша в конце URL, при помощи .htaccess:
...
/) и если есть, удаляет, затем перенаправляет на этот же адрес, но уже без слеша в конце.
Сам код:
# Удаление слеша в конце URL
if (basename(substr($_SERVER['REQUEST_URI'], -1) == '/'))
{
$request_url = rtrim($_SERVER['REQUEST_URI'], '/');
header('Location: https://' . $_SERVER['HTTP_HOST'] . $request_url, true, 301);
exit;
}Если надо удалять слеш только у одно файла, скажем у файла blog.php, то замените условие:
if (basename(substr($_SERVER['REQUEST_URI'], -1) == '/'))на:
if (basename($_SERVER['SCRIPT_FILENAME']) == 'blog.php' and substr($_SERVER['REQUEST_URI'], -1) == '/')А если требуется обратное - везде слеш удалять, а файл blog.php должен остаться со слешем, то условие будет таким:
if (basename($_SERVER['SCRIPT_FILENAME']) != 'blog.php' and substr($_SERVER['REQUEST_URI'], -1) == '/')Еще один способ удаления слеша в конце URL, при помощи .htaccess:
#- Жалоба
Система плагинов для своего сайта на PHP
Здравствуйте.
Недавно на одном форуме помогал реализовать систему плагинов для одного сайта, и теперь хочу тут поделиться решением, которое предложил я. Система проста до безобразия, но прежде чем разбирать исходник, давайте разберемся, что такое плагин и для чего он нужен.
Плагины — это способ расширить возможности функционала своего сайта, без внесения правок в исходный код движка. Установка плагина занимает очень мало времени, порой для установки требуется только залить один файл в папку плагинов.
Теперь переходим к созданию самой системы плагинов. Создаем папку, куда будем заливать все свои плагины, например plugins. Наша задача получить содержимое этой папки, для этого будем использовать функцию scandir(). Затем в цикле foreach() будем проверять соответствует ли файл нашим требованиям, и если да, то подключаем файл при помощи функции include().
Код системы плагинов:
...
Недавно на одном форуме помогал реализовать систему плагинов для одного сайта, и теперь хочу тут поделиться решением, которое предложил я. Система проста до безобразия, но прежде чем разбирать исходник, давайте разберемся, что такое плагин и для чего он нужен.
Плагины — это способ расширить возможности функционала своего сайта, без внесения правок в исходный код движка. Установка плагина занимает очень мало времени, порой для установки требуется только залить один файл в папку плагинов.
Теперь переходим к созданию самой системы плагинов. Создаем папку, куда будем заливать все свои плагины, например plugins. Наша задача получить содержимое этой папки, для этого будем использовать функцию scandir(). Затем в цикле foreach() будем проверять соответствует ли файл нашим требованиям, и если да, то подключаем файл при помощи функции include().
Код системы плагинов:
$dir = 'plugins/'; # Создаем переменную с именем каталога, где будут находится все плагины
$filesКак проверить переменную в PHP
Работая над скриптом может потребоваться проверить, какую-то переменную, имеет ли она значение или она неопределенна. Это проверка необходима, чтобы избежать ошибок вида: Notice: Undefined variable. А также выполнять, ту или иную задачу в зависимости от состояния переменной.
В данном уроке представлено несколько вариантов, как проверить переменную.
Рассмотрим первый вариант. Проверка будет осуществляться при помощи функции isset(). Данная функция, как раз создана для того, чтобы проверять переменную, существует она или нет. Возвращает false - если переменная не существует, и вернет true - если переменная существует. Значение переменной может быть каким угодно, кроме null.
Пример проверки переменной:
Код из примера выведет значение переменной
В данном уроке представлено несколько вариантов, как проверить переменную.
Рассмотрим первый вариант. Проверка будет осуществляться при помощи функции isset(). Данная функция, как раз создана для того, чтобы проверять переменную, существует она или нет. Возвращает false - если переменная не существует, и вернет true - если переменная существует. Значение переменной может быть каким угодно, кроме null.
Пример проверки переменной:
if (isset($variable))
{
// Если переменная существует, то выполняется, какое-то действие, например:
echo $variable;
}Код из примера выведет значение переменной
$variable на экран, если переменная существует и она не равняется null. Если переменная неопределенна, то на...Переход на PHP 7
Решил написать о переходе на PHP 7, так как сам сейчас занять переводом кода одного движка по PHP 7. И так для начала включаем дебаг или отладчик в админ панели сайта, если такого нет у вас, то можно сделать так, как написано в теме: Поиск ошибок в PHP, теперь на экране монитора, мы можем видеть сообщения ошибках, например, такое:
Это сообщение говорит о том, что модификатор
Например, у нас сообщение ошибки указывает на такую строчку:
Её следует изменить так:
...
Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - dir/file.php (номер строки)
Это сообщение говорит о том, что модификатор
e не существует в PHP 7, следует избавляться от него, но если просто удалить данный модификатор, сценарий может выполнятся неправильно, непросто же так его туда писали. Я покажу на примере кода из PHPFOX 3 (как я переписывал код: PHPFOX 3 переход на PHP 7), делаем так:
Например, у нас сообщение ошибки указывает на такую строчку:
$sStr = preg_replace('/\[x=(\d+)\].+?\[\/x\]/ise', "''.stripslashes(\$this->_parseUserTagged('$1')).''", $sStr); Её следует изменить так:
...
Условие (if else) в PHP
Хочу в своем посте кратко рассказать об условиях в php, для чего они нужны и как с ними работать. Начну конечно же с пояснения:
Условия в php - это часть скрипта, например которое может требовать что бы переменная соответствовала текущему времени суток, или чтоб переменная показывала информацию о том, что пользователь должен зарегистрироваться или авторизоваться, если смотрит гость, а если пользователь авторизован, то отображается другая информация.
И так переходим к первому примеру условия, которое называется if и выглядит примерно так:
Этот синтаксис говорит о том, что если условие соответствует, то выполняет свою работу оператор. Для лучшего восприятия приведу простой пример:
То есть если переменная
Условия в php - это часть скрипта, например которое может требовать что бы переменная соответствовала текущему времени суток, или чтоб переменная показывала информацию о том, что пользователь должен зарегистрироваться или авторизоваться, если смотрит гость, а если пользователь авторизован, то отображается другая информация.
И так переходим к первому примеру условия, которое называется if и выглядит примерно так:
if (условие)
{
оператор
}Этот синтаксис говорит о том, что если условие соответствует, то выполняет свою работу оператор. Для лучшего восприятия приведу простой пример:
$figure = 5;
if ($figure > 3)
{
echo "<strong>$figure</strong> больше чем 3";
} То есть если переменная
$figure равна пяти, а в условии стоит цифра меньше пяти, то выйдет сообщение: 5 больше чем 3. Ес...