голосование
PHP
jQuery
Firebird
BASH
HTML
Ресурсы
GIT
SEO
Oracle
Python
Программы
Хостинг
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Как понять папку где выполняется скрипт PHP

Часто нужно воспользоваться частью url-адреса. Допустим в вас такой url: http://trainingweb.ru/img/php/img1.jpg. Как найти папку в которой находится картинка PHP. Предлагаю вам посмотреть на функцию getDir().


function getDir($str)
{	 	
   $num = strrpos($str, '/');
   $num += 1;
   $res = substr($str, $num);
   return $res;
}
echo getDir('http://trainingweb.ru/img/php/img1.jpg');

Функция strrpos() возвращает позицию последнего вхождения подстроки в строке. При помощи strrpos получаем позицию в строке в виде числа. Функция substr() возвращает подстроку. Благодаря входному параметру $num срезается часть строки после заданной позиции ($num). Я добавил 1 к $num, так как символ слеша тоже занимает место.

Хочу вам показать еще один способ. Существует функция pathinfo. Она возвращает информацию о пути к файлу. Вы можете получить как название файла, так и его расширение. Вам нужно выбрать соответствующую константу и передать её в качестве входного параметра.


define('PATH', "dir1/dir2/dir3/dir4/file.php");
$url = 'dir1/dir2/dir3/dir4/file.php';

echo PATH." - путь";
echo basename($url)."- название файла + расширение";
echo pathinfo(PATH, PATHINFO_DIRNAME)." - путь + директория";
echo pathinfo(PATH, PATHINFO_BASENAME)." - название файла + расширение";
echo pathinfo(PATH, PATHINFO_EXTENSION)." - расширение файла";
echo pathinfo(PATH, PATHINFO_FILENAME)." - название файла";

/*
Вывод:
dir1/dir2/dir3/dir4/file.php - путь
file.php- название файла + расширение
dir1/dir2/dir3/dir4 - путь + директория
file.php - название файла + расширение
php - расширение файла
file - название файла
*/

Очень часто нужно автоматически определить местоположение файла. Ошибка в пути приводит к остановке скрипта. Для этого существуют специальные серверные переменные. Например $_SERVER['PWD'] - показывает текущее расположение файла, начиная от самого начала. Используют эту переменную в серверном программировании. Её аналог константа __DIR__. Переменная $_SERVER['PWD'] не всегда работает, поэтому используйте константу __DIR__. Читайте про массив $_SERVER в статье массив $_SERVER в PHP. Допустим, у вас есть приложение app. Для того чтобы запустить скрипт при помощи CRON необходимо прописывать абсолютный путь до скрипта. Константа __DIR__ прекрасно справляется с определением пути. Если не пользоваться константами и серверной переменными, то вы можете попасть в неприятную ситуацию. Если путь был изменён (переименовали папку), то возникнет ошибка и вам придётся изменять пути во всех скриптах.


include_once('/folder1/folder2/folder3/app/file.php');
include_once('/folder1/folder2/folder3/app/parts/file.php');
#или с константой __DIR__
include_once(__DIR__.'/app/file.php');
include_once(__DIR__.'/app/parts/file2.php');
просмотры: 463, уровень: лёгкий уровень, рейтинг: 0, дата: 2015-12-26 13:15:13
проголосовать:

Комментарии:






поиск
сайты друзей
банеры
домен RU всего за 99 рублей
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP