Я пытаюсь получить изображения для сообщений WP, которые хранятся в каталоге wp-uploads, используя if (file_exists()
, но он не распознает путь к файлу.Почему file_exists() возвращает false?
Для каждого сообщения доступно до 8 изображений. Каждое изображение имеет буквы a-g в конце имени файла (или ничего) и имеет str_replace для замены определенных символов в именах файлов.
Мне нужно показать каждое изображение, если оно существует, а если нет, то ничего не вернуть. Поэтому, если сообщение связано с изображениями с b, d и f в конце, оно просто показывает эти три.
Я тестировал без (file_exists())
и его способность подбирать изображения с простым эхом для каждого - но кажется, что пути $img
не распознаются.
Im немного PHP нуб так что любая помощь будет оценена ...
$uid = get_post_meta (get_the_ID(), 'Unique number', true);
$root ="/wp-content/uploads/2016/Collection/";
$path = str_replace(" ","_",$uid);
$path = str_replace(".","_",$path);
$path = str_replace(":","",$path);
$img = $root.$path.".jpg";
$imga = $root.$path."a.jpg";
$imgb = $root.$path."b.jpg";
$imgc = $root.$path."c.jpg";
$imgd = $root.$path."d.jpg";
$imge = $root.$path."e.jpg";
$imgf = $root.$path."f.jpg";
$imgg = $root.$path."g.jpg";
if (file_exists($img)) { echo "<img src='".$root.$path.".jpg' />"; } else { echo ""; }
if (file_exists($imga)) { echo "<img src='".$root.$path.".jpg' />"; } else { echo ""; }
if (file_exists($imgb)) { echo "<img src='".$root.$path."b.jpg' />"; } else { echo ""; }
if (file_exists($imgc)) { echo "<img src='".$root.$path."c.jpg' />"; } else { echo ""; }
if (file_exists($imgd)) { echo "<img src='".$root.$path."d.jpg' />"; } else { echo ""; }
if (file_exists($imge)) { echo "<img src='".$root.$path."e.jpg' />"; } else { echo ""; }
if (file_exists($imgf)) { echo "<img src='".$root.$path."f.jpg' />"; } else { echo ""; }
if (file_exists($imgg)) { echo "<img src='".$root.$path."g.jpg' />"; } else { echo ""; }`
Да, вы должны использовать полный или абсолютный путь к файлу. Если это не работает с вами, убедитесь, что он будет работать только тогда, когда [allow_url_fopen] (http://php.net/filesystem.configuration#ini.allow-url-fopen) активируется в вашей конфигурации PHP. –
'$ _SERVER ['DOCUMENT_ROOT']' разрешил проблему для меня - спасибо. – Aitch