문제

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