我遇到了问题。
我实际上有这段代码:
// Check if image exist for the hotel
$src = '../assets/app/images/hotel-logos/007.jpg';
if(file_exists($src)) {
$src = $src;
}
else {
$src = '../assets/app/images/hotel-logos/default.jpg';
}
echo '<center><img src="'.$src.'" width="200"></center>';
此代码检查图像是否存在。
但每次我都有后备图片default.jpg
,而我应该007.jpg
。
我检查我的路径并且它有效。我的007.jpg
图片与我的default.jpg
图片位于同一目录中。
我已经使用if(@getimagesize($src)) { ... }
进行了测试。同样的。
为什么?
答案 0 :(得分:1)
即使您的文件放在某个目录中,也不意味着PHP进程的当前路径是相同的。请改用绝对路径:
// Check if image exist for the hotel
$src = '../assets/app/images/hotel-logos/007.jpg';
if(!file_exists(__DIR__.'/'.$src)) {
$src = '../assets/app/images/hotel-logos/default.jpg';
}
echo '<center><img src="'.$src.'" width="200"></center>';
答案 1 :(得分:0)
我认为你已经完成了它让它更简单可能解决你的问题试试这个:
<?php
$src = '../assets/app/images/hotel-logos/007.jpg';
if (!file_exists($src)) {
$src = '../assets/app/images/hotel-logos/default.jpg';
}
echo '<center><img src="'.$src.'" width="200"></center>';
?>
答案 2 :(得分:0)
好的,我通过使用:
来实现它 $_SERVER['DOCUMENT_ROOT']
// Check if image exist for the hotel
$src = '../assets/app/images/hotel-logos/007.jpg';
if(!file_exists($_SERVER['DOCUMENT_ROOT'].'/assets/app/images/hotel-logos/007.jpg')) {
$src = '../assets/app/images/hotel-logos/default.jpg';
}
echo '<center><img src="'.$src.'" width="200"></center>';