Forum Webscript.Ru
Программирование => PHP => Тема начата: Tepncuxopa от 19 Марта 2002, 17:37:35
-
В шаблоне для статей пишу:
$mytitle=urlencode(\'Bla-bla-bla\');
require ("http://localhost/interest/head.php?title=$mytitle");
В результате получаю ошибку:
Failed opening required \'http://localhost/interest/head.php?title=Bla-bla-bla\' (include_path=\'\')
-
Ребята, сорри! Второй раз промахиваюсь :(
Перенесите тему в PHP, плиз.
-
Попробуй вместо localhost написать 127.0.0.1
Тебе нужно запустить файл, или вложить его?
The require() statement replaces itself with the specified file, much like the C preprocessor\'s #include works.
-
А разве там не должен быть обязательно физический путь прописан??
-
А разве там не должен быть обязательно физический путь прописан
Нет.
-
Попробуй вместо localhost написать 127.0.0.1
Та же петрушка получается :(
Мне нужно вложить еще один php-шаблон, в котором вместо переменной $title нужно подставить название статьи (оно хранится в $mytitle). Т.е. получается, что этот шаблон еще и сервером отпарсится должен.
А разве там не должен быть обязательно физический путь прописан??
В мануале эта функция упоминается именно с виртуальным путем. И по-моему это логически правильно, т.к. шаблон парсится сервером при вставке.
-
А что, шаблон на удаленном сервере лежит?
-
удаленный require - это круто! =)
имхо, в таком случае лучше использовать fopen.
плюс, естественно, это более безопасное решение.
-
А что, шаблон на удаленном сервере лежит?
Нет, в том же каталоге, что и index.php (файл, в который вставляется шапка head.php).
-
$title=$mytitle;
require("head.php");
-
удаленный require - это круто! =)
Не. Это мануал.
AliMamed Прав.
Это, кстати, есть там же :)
-
во-первых, зачем удаленно, если локально можно?
во-вторых, это не есть хороший стиль программирования.
(мое имхо)
-
во-первых, зачем удаленно, если локально можно?
А если нельзя? (fopen не предлагать, и так понятно, что это лучше)
-
А если нельзя? (fopen не предлагать, и так понятно, что это лучше)
какой еще fopen для подключения локальных скриптов? =)
-
какой еще fopen для подключения локальных скриптов? =)
Ты отвлекся. :)
Я имею ввиду удаленный скрипт.
-
ThE0ReTiC
тогда да.
только точнее, не скрипт, а его результат, т.е. код html.
-
$title=$mytitle;
require("head.php");
Так не работает! Посуди сам: при такой записи переменная $title будет определена только в шаблоне index.php, а мне нужно, чтобы она была определена в шаблоне head.php и этот шаблон был отпарсен с ее учетом. Т.е. должна иметь место запись вида: head.php?title=\'чего-то там\'. Вопрос в том, как правильно это написать.
Это, кстати, есть там же
Ага, но это немного не для тех случаев, как я понимаю.
-
$title=$mytitle;
require("head.php");
А у меня работает...
-
Посуди сам: при такой записи переменная $title будет определена только в шаблоне index.php, а мне нужно, чтобы она была определена в шаблоне head.php и этот шаблон был отпарсен с ее учетом.
Извини, не права. Тебе никто не мешает сделать обработку $title в head.php.
Вынужден повториться:
The require() statement replaces itself with the specified file, much like the C preprocessor\'s #include works.
Вольный перевод:
Выражение require() заменяется содержимым указанного файла, так же как и директива #include препроцессора С
-
Вольный перевод:
Выражение require() заменяется содержимым указанного файла, так же как и директива #include препроцессора С
Тут проблема не в переводе :) проблема в том, что я понятия не имею, как работает директива #include препроцессора С.
Вообщем, буду я, наверное, переставлять Apache+Php+MySQL. А то и PhpMyAdmin глючит, и траблы всякие с php функциями случаются :(
-
Рабюотает она очень просто.
Немного оффтопик, но надеюсь меня простят.
Предположим у нас есть несколько общих переменных, которые надо использовать в нескольких файлах:
[cpp]
char Buffer[255];
int MyConst = 10;
bool TrueFlag = false;
...
[/cpp]
Вместо того, чтобы прописывать эти переменные в жадом файле, выносив в отдельный, например vars.h
После чего в sample001.c Пишем
[cpp]
#include "vars.h"
...
int main(int argc, char * argv[])
{
.....
retrun 0;
}
[/cpp]
Препроцессор, обрабатывая sample001.c приводит его к такому виду:
[cpp]
char Buffer[255];
int MyConst = 10;
bool TrueFlag = false;
...
...
int main(int argc, char * argv[])
{
.....
retrun 0;
}
[/cpp]
То есть делает замену строки #include "vars.h" на содержимое файла vars.h.
Вот собсно и все.
-
Пасиба! Буду знать :)