Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как загружать файл через относительный путь, который меняется?

Сообщения:  [1-5] 

 
 автор: localGhost   (14.02.2005 в 06:43)   письмо автору
 
   для: cheops   (12.02.2005 в 14:30)
 

если я все понял правильно то вот... как-то стояла подобная задача и написал я такую вот функцию:

<?
# $correction - поправка положения корневой директории,
# т.е. корневая директория у нас www/dir или www/ и т.п.
# значение 2 или 3, надо просто опэксперементировать.
function get_self_path ($correction) {
   
$temp explode ("/"$_SERVER["PHP_SELF"]);
   
$path "";
   for (
$k 0$k sizeof ($temp) - $correction$k++) {
      
$path .= "../";
   }
   return 
$path;
}
?>

она возвращает значит следующее:
если файл находиться в корне.. то она ничего не возвращает, если мы файл лежит в директории dir/ то она возвращает "../", если dir/dir/ то возвращает "../../" и т.д.
надеюсь она вам поможет.

   
 
 автор: cheops   (12.02.2005 в 14:30)   письмо автору
 
   для: Shorr Kan   (12.02.2005 в 13:44)
 

Да, всё верно - если, что-то не заладится я думаю вы это быстро заметите :)))

   
 
 автор: Shorr Kan   (12.02.2005 в 13:44)   письмо автору
 
   для: cheops   (12.02.2005 в 13:06)
 

Хорошо. Если у меня на сайте есть index.html, который загружается при наборе в адресной строке названия сайта... Т.е., это директория www, как я понимаю. И вот около этого index.html есть директория dir1, в ней есть dir2, а вот в ней - file.txt... Тогда, верен ли путь $_SERVER['DOCUMENT_ROOT']."/dir1/dir2/file.txt" ?

По крайней мере, print filesize($_SERVER['DOCUMENT_ROOT']."/dir1/dir2/file.txt"); показывает размер file.txt.... Но!... Хотя нет, сейчас проверил - все верно. А час назад не работало... Где-то я не то писал, видимо.

Риторический вопрос - откуда дурацкие ошибки берутся?

И не риторический - все же верно я сделал?
$_SERVER['DOCUMENT_ROOT']."/dir1/dir2/file.txt"

   
 
 автор: cheops   (12.02.2005 в 13:06)   письмо автору
 
   для: Shorr Kan   (12.02.2005 в 12:00)
 

Пробему можно решить двумя способами:
1) Указать абсолютный путь к файлу file.txt.
2) Попытаться ппередилить место вызова скрипта при помощи функции realpath(), которая возращает абсолютный путь к файлу.

   
 
 автор: Shorr Kan   (12.02.2005 в 12:00)   письмо автору
 
 

У меня есть функция чтения содержимого файла в массив. Возвращает она именно этот массив. Места, где вызывается функция, разумеется используют этот самый массив... Но места слишком разные... дирректории разные. Структура непроста, так как скрипт делался сперва сам под себя, а потом уже решили его инклудить... Так вот, из одного места эта функция вызывается, и там все нормально работает, если в функции прописан путь открытия файла такой: "dir2/file.txt"... Но из другого места так не работает. Когда вызывается оттуда, нужно, чтобы в функции был путь вроде "dir1/dir2/file.txt".

Вот таких мелолчей очень много. Как можно все это перевести в работающий везде вариант?

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования