Web МастерскаяБлог
Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.
PHP: Как получить расширение файла из строки
Чтобы получить расширение файла из строки, будем использовать функцию pathinfo(), чьё предназначение возвращать массив о пути к файлу. В качестве первого параметра функции должна быть строка с путём файла. Второй параметр будет
...
PATHINFO_EXTENSION, что задаёт возвращение только расширение файла:
$file = 'image.jpeg';
$ext = pathinfo($file, PATHINFO_EXTENSION);
echo 'Расширение файла: ' . $ext;...
- Жалоба
Как проверить является ли число положительным | отрицательным на PHP
Чтобы выяснить: Является число положительным или отрицательным достаточно сравнить его с нулём, то есть больше или меньше нуля. Если число больше нуля, значит оно положительное, если меньше, значит отрицательное.
Можно в виде функции:
Проверить: Является ли число положительным:
Проверить: Является ли число отрицательным:
...
$n = -7;
if ($n > 0)
{
echo 'Положительное число.';
}
else
{
echo 'Отрицательное число.';
}Можно в виде функции:
// Проверка числа (Положительное | Отрицательное)
function numberCheck($number)
{
return $number > 0;
} // End: Проверка числа (Положительное | Отрицательное)Проверить: Является ли число положительным:
if (numberCheck($n))
{
echo 'Положительное число.';
}Проверить: Является ли число отрицательным:
if (!numberCheck($n))
{
echo 'Отрицательное число.';
}Как разделить строку по символам, при первом его появлении
При помощи функции
И я получаю из строки:
Чтобы функция разбивала строку в массив, только на первом разделители, следует использовать третий параметр функции
Готово....
explode() мы можем разбить строку в массив, по указанному символу. В моём случае указанный символ (Разделитель) - это двоеточие (:):
$part = explode(':', $param);И я получаю из строки:
user:1 массив из двух элементов. Тут всё просто. Но когда мне приходит строка такого вида: origin:https://danfa.net, сценарий отрабатывает неправильно. Потому что PHP видит в строке два разделителя, первый, где и должен быть, второй в URL и разбивает строку в массив из трех элементов, вместо двух.Чтобы функция разбивала строку в массив, только на первом разделители, следует использовать третий параметр функции
explode(), что называется лимит. Делаем так:
$part = explode(':', $param, 2);Готово....
Поиск ошибок в PHP | Дебаг
При написании php скрипта легко допустить ошибку, из-за которой скрипт работать будет неправильно, либо вообще работать не будет. Страница пустая (белая) и ошибку очень сложно найти среди десятка тысяч символов... Для того что бы быстро найти ошибку, можно в ваш файл, после
после этого должно появится сообщения с номером строки, в которой находится ошибка (правда этот вариант не всегда помогает).
Еще как вариант: добавить в файл .htaccess строку:
Возможно, будет интересно:
...
<?php добавить следующий код:
ini_set('display_errors', 'On');
error_reporting(E_ALL);после этого должно появится сообщения с номером строки, в которой находится ошибка (правда этот вариант не всегда помогает).
Еще как вариант: добавить в файл .htaccess строку:
php_flag display_errors 1Возможно, будет интересно:
...
Uncaught mysqli_sql_exception: Data too long for column
Получил ошибку: Uncaught mysqli_sql_exception: Data too long for column. Из текста ошибки ясно, что машина получила слишком длинные данные.
Я не стал менять тип поля, чтобы увеличить еёёмкость, я просто сделал проверку на длину строки, перед сохранением данных в Базу Данных (По аналогии: Тема: Слишком большое имя (failed to open stream: File name too long)).
Делаю так:
Готово. Ошибка исчезла.
Строка нужна для одногоразового поиска, и длиннее чем 250 символов, она ни к чему. Поэтому, в моём случае, удаление части строки допустимо. Если это не Ваш случай, рассмотрите вариант с увеличениемёмкости поля, куда сохраняется запись, либо замену типа столбца....
Я не стал менять тип поля, чтобы увеличить её
Делаю так:
$insert['search_query'] = (mb_strlen($search) > 250) ? mb_substr($search, 0, 250) : $search;Готово. Ошибка исчезла.
Строка нужна для одногоразового поиска, и длиннее чем 250 символов, она ни к чему. Поэтому, в моём случае, удаление части строки допустимо. Если это не Ваш случай, рассмотрите вариант с увеличением
Категории
- Apache 6
- CMS 3
- CSS 16
- FTP 1
- HTML 11
- JavaScript 43
- MySQL 17
- Nginx 16
- PHP 51
- phpMyAdmin 2
- SVG 3
- URL 1
- XML 3
- Безопасность 7
- Библиотека JS 16
- Графика 3
- Доменное имя 1
- Инструкция 1
- Кодировка 2
- Контент 8
- Мнение 1
- Мобильное устройство 1
- Монетизация сайта 2
- Настройка 3
- Оптимизация 2
- Ошибка 10
- Поисковая система 1
- Продвижение сайта 6
- Производительность 1
- Софт 1
- Старт 2
- Сценарий 1
- Функция 1
- Хостинг | Сервер 3
Реклама
















