доступ к файлу из разных папок у хостера - нет доступа друг к другу

delias

Новичок
доступ к файлу из разных папок у хостера - нет доступа друг к другу

можно ли получить доступ к файлу в такой ситуации:
я покупаю хостинг, соответственно там есть фтп, на фтп есть папки, допустим такие:
..
[backup]
[site1]
[site2]

есть скрипт на site1 он проверяет доступность файла в backup так:
Код:
<?
$url = "/home/myaccount/backup/blablabla.zip";
if (@fopen($url, "r")) {
echo "Файл существует";
} else {
echo "Файл не найден";
}
?>
так вот файл не существует, т.е. не видит его

точно также не видит и допустим в папке site2 из site1, хотя у себя в site1 файлы видит.

как-то эту ситуацию можно обойти?
 

mity

Новичок
fopen($url, "r") не лучший вариант, так как в срипте будут накапливаться незакрытые хендлы, лучше file_exists.

Уберите собаку, включите вывод ошибок и посмотрите может у вас там open_basedir не даёт открывать файлы вне директории сайта.

И вообще Вы уверенны в такой структуре папок?
 

delias

Новичок
И вообще Вы уверенны в такой структуре папок?
да, проверил $_SERVER['DOCUMENT_ROOT'];


Уберите собаку, включите вывод ошибок и посмотрите может у вас там open_basedir не даёт открывать файлы вне директории сайта.
включил, ошибок не выдало.

наверное лучше этот вопрос хостеру задать? что-то на нескольких форумах спросил - нет ответа ни у кого
 

mity

Новичок
Не может ошибок не выдавать, у меня когда файл не найден пишет
Код:
Warning: fopen(name.txt): failed to open stream: No such file or directory in
вставьте
PHP:
  ini_set('display_errors',1); 
  error_reporting(E_ALL &( ~E_DEPRECATED));
Проверьте ini_get('open_basedir');
Есть скрипты отображающие листинг директорий http://ru2.php.net/manual/en/class.dir.php, начните с
$_SERVER['DOCUMENT_ROOT']
а затем, постепенно, опускайтесь к корню диска
$_SERVER['DOCUMENT_ROOT']."\.."
$_SERVER['DOCUMENT_ROOT']."\..\.."
И посмотрите результат
 

delias

Новичок
не на ту статью вы ссылку дали
http://www.php.ru/manual/features.safe-mode.html
решение зарыто в open_basedir

спасибо, дальше уже думаю разберусь
 

Фанат

oncle terrible
Команда форума
Нет. Это как раз "та" ссылка.
Потому что узнать, что твоя проблема именно в open_basedir, а не в чем-то другом, можно только из сообщения об ошибке.
Поэтому надо было не по форумам бегать, и не думать, что ошибки нужны дяде с форума. И не врать ему, что "включил, ничего не показывает".
А действительно включить и посмотреть.

Так что почитай на досуге. Откроешь для себя много нового.
 

delias

Новичок
что значит врать, мне не сложно было собаку удалить и проверить есть ли ошибка
 

Фанат

oncle terrible
Команда форума
То и значит. Что при open_basedir и включенных ошибках пхп тебе напишет, что проблема в open_basedir. Большими буквами.

Следовательно, если ошибка, как ты говоришь, была в open_basedir,
а ты, по твоим словами, никаких ошибок не увидел - то, выходит, ты соврал.

Среди прочего, по ссылке написано, что проверяешь ты ошибки не для дяди с форума, а для себя, любимого.
И поэтому надо не просто отбрехаться, лишь бы отстали, а ДЕЙСТВИТЕЛЬНО ПРОВЕРИТЬ.
Так что ссылка самая что ни на есть правильная. Куда правильнее мелкой частной проблемы с open_basedir.
 

delias

Новичок
удивительно как с такой лёгкостью и непринуждённостью человек пытается убедить меня же что я на форуме дядю обманываю.
на всякий случай только что повторил эксперимент, убрал собаку перед $url дабы убедиться что ошибку не выдаёт.
как я Вам, уважаемый, и всему форуму, могу доказать, что не обманываю?
ссылки на скрипт мало будет, ведь надо и исходник видеть.
давайте как-то проверим, раз на то пошло. ваши варианты? дать доступ в фтп?
 

dimagolov

Новичок
delias, все отлаживают свои скрипты и у них ошибки выводятся. то, что они не выводятся у тебя, это твоя личная проблема, которую решать нужно исключительно тебе, чтобы выявить причину проблемы. раз у тебя нет желания научиться отлаживать свои скрипты, то и работать они у тебя не будут.
 

delias

Новичок
всё, ошибку понял. статью в закладки.
Warning: fopen() [function.fopen]: open_basedir restriction in effect. ...

спасибо всем.
 
Сверху