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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Относительные пути к файлу 
:(
    Опции темы
Гость_Евгений
Дата 16.9.2005, 06:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Не могу победить такую проблему:
если пхп-скрипт находится в корневой папке (ну или просто уровнем выше) и из скрипта обращаешься к файлу в дочерней папке,
например: $a=fopen('./foto/base.txt',"r");
тогда усё работает.
Проблема начинается если скрипт в тоже в какой либо папке, например /foto2/index.php
тогда из него не находится файл из соседней папки...
А использовать абсолютные ссылки не получается - сервер ошибку выдает о нарушении прав. (хостинг на Реплей.ру)
---
Еще такой вопрос не в тему:
как сделать, чтобы после исполнения скрипта открывалась другая страничка ?
только не include() ...

  Вверх
PARROT
Дата 16.9.2005, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

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



Цитата
Еще такой вопрос не в тему:
как сделать, чтобы после исполнения скрипта открывалась другая страничка ?
только не include() ...

Код

header('location: index.php?page=reference'); 



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Akina
Дата 16.9.2005, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата
Проблема начинается если скрипт в тоже в какой либо папке, например /foto2/index.php тогда из него не находится файл из соседней папки...
т.е.
Код
$a=fopen('../foto/base.txt',"r");
не работает?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Guest
Дата 16.9.2005, 17:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Akina @ 16.9.2005, 09:10)
Цитата
Проблема начинается если скрипт в тоже в какой либо папке, например /foto2/index.php тогда из него не находится файл из соседней папки...
т.е.
Код
$a=fopen('../foto/base.txt',"r");
не работает?

почти работает smile
Тоесть: у меня скрипт пхп в шаблон забит и если 2 точки, то он работает на всех страницах кроме тех, что в корневом лежат. А с ними то что делать ???
  Вверх
Гость_Евгений
Дата 16.9.2005, 18:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(PARROT @ 16.9.2005, 09:03)
Цитата
Еще такой вопрос не в тему:
как сделать, чтобы после исполнения скрипта открывалась другая страничка ?
только не include()  ...

Код

header('location: index.php?page=reference'); 

Спасибо, работает.
  Вверх
[xoodo]
Дата 17.9.2005, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Guest @ 16.9.2005, 17:48)
Тоесть: у меня скрипт пхп в шаблон забит и если 2 точки, то он работает на всех страницах кроме тех, что в корневом лежат. А с ними то что делать ???

Либо менять логику/папки/шаблоны, либо держать в скриптах переменную типа $inc_dir. То есть скриптах в корневом каталоге

$inc_dir = ".";

А в скриптах в других папках:

$inc_dir = "..";

И тогда твой код будет выглядеть так:

$a = fopen($inc_dir."/foto/base.txt","r");

Не слишком элегантно, но должно работать.
PM   Вверх
Guest
Дата 17.9.2005, 16:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











С переменной вариант не пройдет - у меня все в шаблонах.
Хотя... если узнавать какая текущая страница и взависимости от этого значение переменной менять... тогда вопрос: как узнать путь к текущему URL ? (а сам в книгах пошарюсь)
а вот вариант с содержанием всех файлов (к которым скрипты обращаются) в корневой папке - это хорошая идея. пока так и сделаю, но в будущем хочется всё-таки решить проблему - так как файлов много и хочется их классифицировать.
  Вверх
[xoodo]
Дата 17.9.2005, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



По поводу пути...

Предложу parse_url(), она вернёт массив, элемент которого с именем path будет содержать нужный тебе путь. Там снизу ссылки на другие рекомендуемые функции, возможно, они полезней будут.

А лучше даже используй
$_SERVER['PHP_SELF']
или
$_SERVER['SCRIPT_FILENAME']



Это сообщение отредактировал(а) [xoodo] - 17.9.2005, 19:25
PM   Вверх
Гость_Евгений
Дата 17.9.2005, 19:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











спасибо, я думаю что это поможет.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.2001 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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