Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что это за ошибка?.. ...и как её исправить? 
:(
    Опции темы
Brothernone
  Дата 16.8.2006, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.7.2005
Где: Украина

Репутация: нет
Всего: нет



как это исправить:


Warning: main(header.php): failed to open stream: No such file or directory in z:\home\test.com\www\catalog\catalog.php on line 4

Warning: main(): Failed opening 'header.php' for inclusion (include_path='.;/usr/local/php/PEAR') in z:\home\test.com\www\catalog\catalog.php on line 4


Дело в том, что в header.php у меня есть строка:

$url="http://www.test.com/";

и во всех остальных файлах я его вставляю таким образом:

include($url."header.php");

Самое главное: если файлы лежат в одной директории с хедером - то ошибка не возникает. Если в поддиректориях - возникает!

Подскажите, как это исправить. smile 

Это сообщение отредактировал(а) Brothernone - 16.8.2006, 19:19
PM MAIL WWW   Вверх
Rock
Дата 16.8.2006, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 13.1.2005
Где: Краснодар

Репутация: 0
Всего: 1



просто переменная $url существует только в header.php
В твоем случае
Код

$url="http://www.test.com/";

надо прописывать во всех скриптах

Это сообщение отредактировал(а) Rock - 16.8.2006, 19:34
PM MAIL ICQ   Вверх
alergi
Дата 16.8.2006, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 14.8.2006
Где: МОСКВА

Репутация: нет
Всего: нет



Цитата(Brothernone @  16.8.2006,  19:18 Найти цитируемый пост)

....
$url="http://www.test.com/";
...

ты файлы подключаешь через протокол HTTP ?
PM MAIL WWW ICQ   Вверх
mr.Anderson
Дата 16.8.2006, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Если файл находится в подкаталогах, и ты работаешь с ними, то подключение файла из другого каталога требует указания полного пути к файлу, либо (это лучше, я думаю), указывать переход на директорию назад, вот так:
Код

include( "./header.php" );

Так будет производится подключение файла из каталога, расположенного уровнем выше.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Brothernone
Дата 16.8.2006, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.7.2005
Где: Украина

Репутация: нет
Всего: нет



Сейчас последний совет попробую.

Да, я подключаю через HTTP, а что?
PM MAIL WWW   Вверх
cyberface
Дата 16.8.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 6.6.2006

Репутация: 3
Всего: 5



гыг... RTFM... мда... читайте мануал однако... протокол-то хттпшный заставит ваш файл выполнится.
PM MAIL   Вверх
mr.Anderson
Дата 16.8.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Brothernone, вообще, самая распространенная проблема - неверно указанная директория. Вот смотри. Например, твой сайт имеет структуру:
Код

- public_html
--- catalog1
--- catalog2
 ----- catalog3

В каталоге catalog3 расположен файл test1.php, а в каталоге catalog1 - файл including.html. Представь, что в файле test1.php написан вызов второго файла:
Код

include_once( "including.html" );

Это не сработает, потому что этот файл будет разыскиваться в том же каталоге, в котором расположен сам test1.php. В этом случае придется писать примерно так:
Код

include_once( "./catalog1/including.html" ); //может, я наврал, я всегда методом тыка ищу

Вроде, понятно объяснил?

Добавлено @ 21:34 
Кстати, судя по тому, что ты указываешь полный путь:
Код

$url="http://www.test.com/";

То ничего хорошего это не сулит. А вдруг адрес твоего сайта изменится? Представь, сколько придется исправлять, если твой сайт состоит из большого количества файлов?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Brothernone
Дата 16.8.2006, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.7.2005
Где: Украина

Репутация: нет
Всего: нет



Код

include( "./header.php" );


Не помогло - написало тоже самое. smile 

Цитата

гыг... RTFM... мда... читайте мануал однако... протокол-то хттпшный заставит ваш файл выполнится.


Я в разделе для начинающих. Мож памагёте? smile 

Там, где читал - такого описано не было. smile 
PM MAIL WWW   Вверх
mr.Anderson
Дата 16.8.2006, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Brothernone, повторю, экспериментируй с директориями. Попробуй поставить двойной переход:
Код

include_once( "././your_file.php" );



--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Brothernone
Дата 16.8.2006, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.7.2005
Где: Украина

Репутация: нет
Всего: нет



Ясно. Буду экспериментировать.

А по поводу "адрес сайта изменится".
Смотрите, если я меняю свой сайт с test.com, на microsoft.com, то мне всего лишь надо изменить эту переменную:

Код

$url="http://www.microsoft.com/";


Ведь так?
PM MAIL WWW   Вверх
mr.Anderson
Дата 16.8.2006, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Да так-то так... Ну, в общем-то, и так можно...

А вообще, во избежание проблем - дай полные точные пути к файлу, который ты подключаешь, и к файлу, в котором написано include (пути укажи начиная от папки public_html твоего сайта). А там посмотрим.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Muchenik
Дата 16.8.2006, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 27.10.2005

Репутация: 5
Всего: 5



Что непонятного?
Если скрипт находится в поддиректории относительно header.php:
./header.php
./dir1/scr.php

то в scr.php вызываешь 
Код

include ('./../header.php'); // используешь две точки для выхода




PM MAIL ICQ   Вверх
mr.Anderson
Дата 16.8.2006, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



muchenik, мы тут про это и толкуем. smile


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Brothernone
Дата 16.8.2006, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.7.2005
Где: Украина

Репутация: нет
Всего: нет



Я пока в Денвере. Соответственно, вот так:

test.com/www/header.php - это файл, который я инклюдю

test.com/www/catalog/cat.php - а это, в котором вызываю функцию инклюд.


PM MAIL WWW   Вверх
Muchenik
Дата 16.8.2006, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 27.10.2005

Репутация: 5
Всего: 5



Цитата(sim7 @ 16.8.2006,  21:52)
muchenik, мы тут про это и толкуем. smile

Просто я еще не видел чтоб кто то нормально две точки показал  smile 
Ааа, ты там точку забыл smile 

Это сообщение отредактировал(а) Muchenik - 16.8.2006, 21:55
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3257 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.