Intereting Posts
Оператор добавления сокращений PHP – неопределенное смещение Magento: несколько транзакций по электронной почте по умолчанию в настраиваемом модуле Как написать getter / setter для доступа к многоуровневому массиву по ключевым словам? PHP отправки почтовых вложений Можете ли вы поместить заполнители в выбранную часть запроса с использованием PDO? Как многопользовательская работа с использованием Codeigniter famework (PHP)? mysql_num_rows () ожидает, что параметр 1 будет ресурсом, boolean given Эффективный способ получить последнюю часть строки только после определенной базовой строки PHP – получить base64 img строку декодировать и сохранить как jpg (в результате пустого изображения) Попытка проверить, существует ли уже письмо с таким же значением Лучший способ управления долговременным скриптом php? Как получить результат Laravel Query Builder как целое число Ошибка при отправке электронной почты на GoDaddy Server: Laravel 5.1 CRC32 От C ++ / C # до PHP Функции расширения CakePHP AppError

PHP Выбирает текущее имя страницы без расширения?

Я хочу показать текущее имя файла страницы как заголовок страницы, но без расширения. И если возможно, первый символ должен быть капитализирован. Это возможно?

Все любят однострочники:

ucfirst(pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME)) 

Второй аргумент pathinfo() удаляет путь и расширение из имени файла (PHP> = 5.2)

Btw, я использую $_SERVER['PHP_SELF'] вместо __FILE__ потому что иначе он сломается, если код __FILE__ из другого файла 😉

Да, вы можете это сделать, но вы можете сделать дополнительный синтаксический анализ для пробелов. Однако это самый простой способ и непосредственно в соответствии с вашими инструкциями.

 echo '<title>'; echo ucwords(str_replace('.php', '', __FILE__)); echo '</title>'; 

То, что я сделал здесь, это получить константу FILE, которая является именем исполняемого файла. Найдите расширение .php и замените его пустым (при условии, что «.php» не встречается нигде в имени файла).

Функция ucwords () заглаживает первую букву подстрок, разделенных пробелами.

Если вы хотите продолжить синтаксический анализ для пробелов, вам нужно будет определить формат имен файлов и соответственно заменить строки / регулярное выражение.

Если вы хотите перейти от script.php к script.php , да:

 // pathinfo give info about given file and returns it into an associative array: $info = pathinfo( __FILE__ ); // the filename key holds file name without extension nor parent path: $title = ucwords( $info['filename'] ); 

Да, возможно:

 <?php $page = basename($_SERVER['PHP_SELF']); // Get script filename without any path information $page = str_replace( array( '.php', '.htm', '.html' ), '', $page ); // Remove extensions $page = str_replace( array('-', '_'), ' ', $page); // Change underscores/hyphens to spaces $page = ucwords( $page ); // uppercase first letter of every word echo "This title is: $page"; 

Для того чтобы первая буква была ucfirst() , используйте ucfirst() . Это первая символьная функция. Вы также можете использовать ucwords() для слов с верхним регистром.

Чтобы получить имя файла за вычетом расширения, используйте pathinfo() .

 $path_parts = pathinfo(__FILE__); echo ucfirst($path_parts['filename']); 

У вас есть 3 скрипта: nav.php containerpage.php и footer.php.

В nav.php, поставьте это:

 <title><?php if (isset($subtitle)) {echo "$subtitle";} else {echo "some other title";} ?> </title> 

в container.php, поставьте это:

 <?php $subtitle = ucwords(str_replace('.php', '', __FILE__)); ?> 

после этого строка включает ваш скрипт nav.php:

 <?php include("nav.php"); ?> 

Это может работать или не работать в зависимости от структуры вашего сайта, но я решил эту проблему еще раз.