|
|
|
| Столкнулся с неожиданной для меня проблемой, создал файл index_1.php
Содержание следующие:
<?php /* открывает конфигурационный файл с расширением ini */
echo '<br>открыли файл index_1 ';
class f1
{
var $text = '<br>class f1 печатает что загрузили файл index_1.php';
/*------------------------------------------------------------*/
function print_1()
{
echo $this->text;
}
}
?>
|
В другом файле, находящемся в этой же папке, прописываю
<?
include ("index_1.php");
$ind_1 = new f1();
$ind_1 -> print_1();
?>
|
Все работает результат:
открыли файл index_1
class f1 печатает что загрузили файл index_1.php
но если я прописываю полный путь
<?
include ("http://localhost/all_class/index_1.php");
?>
|
то результат следующий:
открыли файл index_1
Fatal error: Class 'f1' not found in C:\WWW\scripts\all_class\class_config_ini.php on line 39
Почему так? Ведь фраза открыли файл index_1 доказывает что файл index_1.php с классом : Class 'f1' открыт. | |
|
|
|
|
автор: Wunderbar (14.03.2008 в 16:26) |
|
|
для: Чайка
(14.03.2008 в 16:25)
| | Да это не полный путь к файлу с кодом ты прописал, а виртуальный адрес страницы. | |
|
|
|
|
|
|
|
для: Wunderbar
(14.03.2008 в 16:26)
| | Что-то я не понял, можно поподробнее для особо тупых?
В файле находящемся по адресу http://localhost/all_class\class_config_ini.php
Код :
<?
include ("http://localhost/all_class/index_1.php"); // не работает
//include ("index_1.php"); работает
$ind_1 = new f1();
$ind_1 -> print_1();
?>
|
| |
|
|
|
|
автор: Wunderbar (14.03.2008 в 17:03) |
|
|
для: Чайка
(14.03.2008 в 16:45)
| | Абсолютный в твоём случае - C:\WWW\scripts\all_class\index_1.php. | |
|
|
|
|
|
|
|
для: Чайка
(14.03.2008 в 16:25)
| | Если вы обращаетесь по сетевому адресу http://, то подставляется не содержимое скрипта, а результат его работы (HTML-код) - в данном случае пустая строка. Используйте либо относительный путь, либо абсолютный - сетевой можно использовать только там, где вставляется HTML. | |
|
|
|
|
|
|
|
для: Чайка
(14.03.2008 в 16:25)
| |
<?
include (dirname(__FILE__).'/index_1.php');
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(14.03.2008 в 16:55)
| | спасибо! | |
|
|
|
|
|
|
|
для: Чайка
(14.03.2008 в 17:54)
| |
<?
include (dirname(__FILE__).'/index_1.php');
?>
|
Все это правильно, но может кто подскажет возможно ли загружать файлы со скриптом с другого сервера, без http://www... думаю не обойтись. Может как-то скрипт можно сохранять в плоских файлах или базе данных а затем загружать на выполнение? | |
|
|
|
|
автор: Wunderbar (16.03.2008 в 17:54) |
|
|
для: Чайка
(16.03.2008 в 17:40)
| | Если хочешь подключать файлы с другого сервера, то на удаленном сервере код должен выводиться без обработки интерпретатором, то есть можешь переименовать файл index.php в index.txt и использовать include( 'http://example.cоm/index.txt' );
Если, конечно, *.txt тоже не явлется исполняемым файлом :) | |
|
|
|
|
|
|
|
для: Wunderbar
(16.03.2008 в 17:54)
| | Спасибо! Попробую. | |
|
|
|