Есть простой код(описание класса), класс засунул в отдельный файл PHP.inc, через функцию include пытаюсь подключить этот файл с кодом, делаю так: <?php include("PHP.inc"); $Men = New Menu; Файл лежиит в той же папке где и сами html файлы. Но функция в упор не хочет подключать файл, на страницу выводит сам код PHP... Что не так делаю?
А зачем *.inc? Обычно классы называют *.php , как и сами скрипты... (наверно обычно ) А вообще, думую нужно увидеть код класса... И думается мне, что $Men = new Menu();
Код класса самый простой... Переименовывать пытался - все равно тоже самое, единственное что так станица через .htm пробывал $Men = new Menu(); - работает.. Сам код: <?php class Menu { var $arr = array(); //Создаем новый массив var $N_arr = 0; // количество строк в массиве var $name_link; var $link; function Add_To_Array($link,$name_link) { $this->arr[$this->N_arr]["name_link"] = $name_link; $this->arr[$this->N_arr]["link"] = $link; $this->N_arr = $this->N_arr +1; } Function displayMenu_gorizont() { echo "<DIV align = 'center' height='15mp'>"; echo "<TD>"; for ($i=1;$i<=sizeof($this->arr);$i++) { echo "<a href={$this->arr[$i-1]['link']} class='menu'> {$this->arr[$i-1]['name_link']} </a> || "; } echo "</TD>"; echo "</DIV>"; } function displayMenu_vert() { echo "<DIV ID='menu'>"; echo "<TD>"; for ($i=1;$i<=sizeof($this->arr);$i++) { echo "<a href={$this->arr[$i-1]['link']} class='menu'> {$this->arr[$i-1]['name_link']} </a> <BR>"; } echo "</TD>"; echo "</DIV>"; } } ?> Полный код вызова: include("PHPcode.php"); $Men = New Menu(); $Men->Add_To_Array("Index.html","Главная");
Сервер не настроен на работу с PHP - см. http://php.ru/install И может всё же обозвать файл *.inc.php?
у меня тоже есть привычка все файлы где лежат несамостоятельные скрипты (которые не должны вызываться из браузера, а должны только инклудиться другими скриптами) называть *.inc Проблем не было.
karakh Какая разница? Он исполняется, раз инклудится код. Проблемы со включаемым файлом. Возможно права на файл "не те" стоят, то есть нет прав на исполнение.
Mr.M.I.T., вот обычно все пишут ААааа а вот не настроите Вы .htaccess и у Вас кто нить введет http://megasite.ru/config.inc и все увидит, что у Вас там понаписано. Так вот, ИМХО держать файлы, на которые пользователь не должен, заходить в DocumentRoot'e уже не ком иль фо. А если они у тебя лежат не в DocumentRoot, так и чего собственно париться? P.S. Несмотря на затеянный мной холивар предпочитаю иметь все файлы в расширении .php а на "клановую" принадлежность указывать папками (classes, tpl, config и т.д.)
dAllonE, не знаете, а на сервере хостинга (если своего собственного, например, нету) можно ли получить доступ к папке, которая находится выше DocumentRoot (или вообще на другом диске), чтобы загружать туда файлы типа config.inc ? И будут ли эти файлы потом доступны из скриптов?
как правило, да. Я еще не встречал хостинга, где было бы нельзя. Я имею все файлы в .php, что бы их было удобно было ОТКРЫВАТЬ РЕДАКТОРОМ, что должно быть очевидно.
флоппик, ну я лично, что бы синтаксис правильно подсвечивался в редакторах... Так что в чем-то мы похожи
У А в чем неудобство? Total commander с удовольствием открывает все что я прошу с notepad++ который после когда-то сделанной минутной настройки замечательно подсвечивает php-шный синтаксис в inc.