2013-04-11 4 views
1

Я пытаюсь получить путь filesystem с помощью функции php realpath, потому что я использую класс imagick.Ошибка пути к файловой системе

У меня есть следующие:

$str = $array[0]['FileName']; //the $str will be /project/employees/info 

затем использовать

$str = realpath(".".$str); 

    var_dump(is_readable($str)); //output false. 

но он выдает ложные. Я уверен, что путь к файлу правильный, но не знаю, что пошло не так. Кто-нибудь может мне с этим помочь? Спасибо!

+1

'echo getcwd();' – zerkms

+0

Вы уверены, что apache получил доступ для чтения? –

ответ

2

Если вы хотите, чтобы найти файл относительно каталога текущего файла вы будете использовать

__DIR__ . '/' . $str 

вместо этого.

Это решение гораздо лучше, потому что . указывает на «текущий каталог», который может быть изменен практически ничего с использованием chdir() во время выполнения, в то время как __DIR__ всегда указывает на ожидаемый каталог.

+1

Обратите внимание, что \ _ \ _ DIR \ _ \ _ является специфичным для php 5.3+. Для более старых версий вы можете использовать dirname (\ _ \ _ FILE \ _ \ _) – periklis

Смежные вопросы