2016-11-22 6 views
0

У меня есть папка под названием images в моем текущем каталоге, но когда я пытаюсь запустить код, приведенный ниже, я получаю следующее сообщение об ошибке:PHP ScanDir не работает для относительного пути

PHP Warning: scandir(../images,../images): The system cannot find the file specified. (code: 2) in C:\Program Files (x86)\Ampps\www\dev\php\recolor_png\dir.php on line 4

<?php 
$dir = "../images"; 

$a = scandir($dir); 

print_r($a); 

Я перепробовал все изменения пути я могу думать (images, /images/, "images", 'images' и т.д., но не радость.

var_dump (is_dir('/images')); также дает false

Пожалуйста, помогите?

+1

Что печатает var_dump (__ DIR __. '/ Images') ;? Это правильный путь? – Marcel

ответ

5

Попробуйте использовать __DIR__ постоянной

$dir = __DIR__ . "/images"; 
+0

Спасибо, что работает. Я запускаю PHP из notepad ++ с 'cmd/k php -f " $ (FULL_CURRENT_PATH) "' и когда я использую '$ dir =" ./ ";' он показывает мне каталог notepad ++. Является ли это тем, как я обычно должен обращаться с относительными путями, или это причуда npp? – Robin

+0

Да, это, как я обычно должен иметь дело с относительными путями. Это не прилив npp. Это происходит потому, что cmd открывается с помощью npp working dir. – vstelmakh

1

Я думаю, что ваш $ реж не correct.you может использовать

$dir = __DIR__ . "/images"; 

или

$dir = "./images"; 

Оба работают. Если его не работает, покажите мне вашу структуру папок изображений.

+0

Thanks @DaveRandom –

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