Вопрос

somebody knows why this script not working?

$imgname = get_stylesheet_directory_uri().'/images/headers/'.str_replace(' ', '', strtolower(get_the_title())).'.jpg';
            if (file_exists($imgname)) {
                echo '<img src="'.$imgname.'"> </img>';
            } else {
                echo '<img src="'.get_stylesheet_directory_uri().'/images/headers/default.jpg"> </img>';
                }

it returns allways the default.jpg, even if the file exists I checked the $imgname, and it is ok

Это было полезно?

Решение 2

You probably have to distinguish here between URLs and file paths.

When you direct your browser to a an image like

http://www.example.com/path/to/image.jpg

and it works, then still the file_exists() function will return false for this URL, because it's not an image path.

The correct path would be something like

/var/www/htdocs/path/to/image.jpg

on the local file system. file_exists() would then return true for this path.

What you need to test for with file_exists() is the local path of the image. If it exists, then you need to include the URL of the image. You do the URL inclusion correctly, but not the path usage.

Другие советы

yes you are right, I mus use like this:

$imgpath = get_stylesheet_directory().'/images/headers/'.str_replace(' ', '', strtolower(get_the_title())).'.jpg';
$imguri = get_stylesheet_directory_uri().'/images/headers/'.str_replace(' ', '', strtolower(get_the_title())).'.jpg';
            if (file_exists($imgpath)) {
                echo '<img src="'.$imguri.'"> </img>';
            } else {
                echo '<img src="'.get_stylesheet_directory_uri().'/images/headers/default.jpg"> </img>';
                }
            ?> 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top