2014-09-09 2 views
0

Я пытаюсь проверить, существует ли файл изображения (.jpg), используя file_exists для каталога, который находится за пределами текущего каталога файлов.Как использовать функцию file_exists для каталога за пределами текущей папки?

Схема файловой системы

Image Directory 
Websites -> GetaShoe -> 190 -> Image file 
websites/WEBSITE1/190/123.jpg 

Current Directory 
Websites -> Shoesgb -> current directory 
websites/WEBSITE2/currentpage.php 

Так как же я могу проверить, существует ли файл в каталоге изображения при использовании file_exists в текущем каталоге?

Я попытался следующие:

<?php 

    $filename = '/GetAShoe/190/123.jpg'; 

    if (file_exists($filename)) { echo 'Found'; } else { echo 'Not Found'; } 

?> 

Это не работает, как изображения не найдены на всех в каталоге 1000-х изображений.

Может ли кто-нибудь посоветовать о правильном обращении к внешнему пути к файлу?

Thanks

+2

'/ GetAShoe' ищет эквивалент' C: \ GetAShoe'. Вероятно, вы хотите что-то большее, чем '../ GetAShoe'. PHP ничего не знает и не заботится о корневом документе вашего сайта. Он просто видит файловую систему сервера. –

+1

/в системе Linux - это корневая папка, ./ - текущая папка и ../ - одна папка над текущей папкой. Вы должны либо использовать полный путь (/home/user/www/somedir/190/123.jpg), либо относительный корень, например @MarcB, размещенный – JimL

+0

@ JimL - спасибо за отзыв о полном пути. – aphextwix

ответ

0

Решения было использование АБСОЛЮТА пути к файлу, который я нашел с помощью __FILE__

Так правильный путь был:

<?php 

$filename = "/root/26/987654321/htdocs/websites/WEBSITE/190/$info[product_id].jpg"; 

if (file_exists($filename)) { echo 'Found'; } else { echo 'Not Found'; } 

?> 

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

1

Попробуйте использовать относительный путь к каталогу изображений. / запускает вас под корень вашего компьютера. Марк сказал: ../GetAShoe, вероятно, сработает.

+0

Спасибо - уже пробовал, что и он не работает. – aphextwix

+0

Относительные пути @aphextwix обычно предпочтительны. Я бы предложил попробовать проверить __DIR__ (эхо или дамп), чтобы узнать, находитесь ли вы в каталоге, который, как вы думаете. Возможно, вам придется идти по двум каталогам, а не по одному. – JimL

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