Содержание
(PHP 4, PHP 5, PHP 7)
getcwd — Получает имя текущего рабочего каталога
Описание
Возвращает имя текущего рабочего каталога.
Возвращаемые значения
Возвращает текущий рабочий каталог в случае успеха или FALSE в случае ошибки.
На некоторых вариантах Unix getcwd() вернет FALSE , если на каком-либо из родительских каталогов не установлен режим чтения или поиска, даже если он установлен на текущем каталоге. Больше информации о режимах доступа смотрите в документации функции chmod() .
Примеры
Пример #1 Пример использования getcwd()
// текущий каталог
echo getcwd () . "
" ;
// текущий каталог
echo getcwd () . "
" ;
Результатом выполнения данного примера будет что-то подобное:
Смотрите также
- chdir() — Изменяет каталог
- chmod() — Изменяет режим доступа к файлу
Я хотел бы получить правильный php-код для отображения filepath в папку на моем сервере. В настоящее время я помещаю фактический путь к файлу в мой скрипт, который выглядит следующим образом: /home/username/mydomain.com/dir/upload/
Так что скрипт установлен в подпапке «dir», а мне нужен путь к папке «upload»
Я использовал это, но это, похоже, не работает, потому что, кажется, помещает загруженные файлы в корень:
Решение
Eсть __DIR__ константа, которая будет содержать путь к каталогу файла скрипта.
Таким образом, чтобы получить путь загрузки, вы можете сделать:
В языке PHP есть несколько полезных констант, которые мы можем применять в построении динамического пути к файлу или папке.
Как в PHP узнать полный путь к файлу или папке
Для начала приведу примеры, что вы получите вызвав соответствующие константы:
Мы рассмотрели 2 константы, __FILE__ и __DIR__ для отображения полного пути к текущему файлу и папке (директории). Стоит отметить, что __DIR__ эквивалентен вызову:
dirname — это стандартная функция PHP, которая возвращает родительский каталог. Она применяется как раз для таких ситуаций, когда вам нужно узнать полный путь к файлу без самого файла :). Мне на ум пришла идея, как можно добиться такого же результата (не удивлюсь, если под капотом тоже самое):
Что мы еще можем применить для константы __FILE__? Конечно же отделить путь и получить просто имя файла:
basename — функция возвращает последний элемент из пути, который, как правило, и является именем файла. Раз уж мы решили писать функции заменители, давайте рассмотрим наш URL, как массив, разделенный слешами («/»):
Как видим, последний элемент массива является нашим файлом. Чтобы получить последний элемент массива, не зная его количество, пишем:
Минус 1 потому как отсчет для массивов идет с нуля, но при счете всегда стартует с единицы.
Важно — в некоторых указаниях полного пути вы используете разделители (вышеупомянутые слеши ‘/’). Но, для Windows это «», для Linux и остальных — «/». Есть такая константа:
Вернет 1 слеш (без кавычек).
Немного закрепим 2 функции, о которых шла речь выше:
str_replace — функция, которая используется для замены в строке. Первый параметр «что ищем», затем «на что меняем» и последний «где ищем», в который мы и передали нашу полную строку.
explode — функция, которая делает из строки массив. Но, чтобы функции понять как разбить строку — ей нужно передать «разделитель», а уже вторым параметром — саму строку.
Как вы заметили, «/home/bitrix/www» — это путь на самом сервере, который можно «вырезать» как раз при помощи str_replace.
Если вам нужно использовать «текущий домен», то получить его при помощи PHP можно несколькими способами. Один из них:
Надеюсь вам эта тема была интересна. Пишите в комментариях как вам формат, и нужен ли он вообще. А то в последнее время только битрикс да битрикс :).
автор: Dmitriy
Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.
Какие услуги предоставляю:
— Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
— Разработка функционала с нуля и доработка кода на уже созданных проектах;
— Адаптивная вёрстка макетов и натяжка на Битрикс;
— Парсинг файлов и выгрузка на сайт (форматы — CSV, XML, XLSX, JSON)
— Интеграции со сторонними сервисами по API;
— Многоязычные версии и многое другое.