воскресенье, 31 октября 2010 г.

© узнаём полный путь к исполняемуму скрипту

  1. $path = $_SERVER['PHP_SELF']; $filename = basename($path);
    Переменная $filename и будет названием твоего файла, просто ставишь в нужном тебе месте.
    этот вариант в моем случае выводил верное значение но ознакомившись с инструкциями и сравнив оказалось в общем случае будет верна команда 
    $fname= basename (__FILE__);
     Так оно и есть поскольку переменная окружения PHP_SELF не является настоящей переменной окружения первого уровня передаваемой из Apache а попросту генерируется PHP-интерпретатором - и поэтому не учитывает возможные особенности в файле .htaccess и тем более не работает если PHP-скрипт запущен не в режиме CGI а например в консоли Использование же директивы __FILE__ всегда верно - поскольку оно указывает именно файловый путь

    Приходиться опять возращаться к этому вопросу

    в коде я просал


    1. $fname= basename (__FILE__);   /*назначаем переменной fname имя файла*/
       
       и все робатало хорошо до тех пор пока я не решил этот блок кода помещать в файл с помощью оператора 
       
      include ("kodkom.php"); /*вставляем код из файла кода коментариев*/
       
      и в этом случае переменной fname присвоилось значение название файла где храниться кода а не файла куда вставлен код
      вопрос как мне узнать имя файла в котором выполняеться (вставлен с помощью include) код???
       
      Несмотря на то что в PHP нет пакетных и именных областей имен все равно каждый PHP-скрипт представляет собой отдельную исполняемую единицу - и директива __FILE__ указывает файловый путь текущей файловой единицы вне зависимости от способа включения и интерпретации
      Таким образом подключение файла PHP-скрипта означает его исполнение поскольку он исполняется именно в том файле где располагается PHP-код а не в подлюкченном - то есть при желании данный PHP-скрипт мог подключить и запустить на исполнение любой CGI-скрипт - который можно узнать по переменной окружения SCRIPT_NAME и далее к примеру с помощью файла .htaccess проанализировать его реальное имя
       

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

Отправить комментарий