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