如果空或破坏,则添加通用图像

时间:2013-05-16 22:53:34

标签: php file-exists

我有一个产品组合,每个人都有一个图像,如果DB字段'image'为空我正在加载一个通用图像,但如果在某些情况下该字段有一个图像值,但该文件不存在我我也想使用通用图像,我尝试使用下面的代码,但只适用于空字段:

<div class="wrapper"><a href="store.php?url=<?php echo $row->url ?>"><img src="images/stores/category/

<?php           
if (empty($row->image) or file_exists($row->image)==false) { 
    echo 'generic.jpg';
}else{                  
    echo $row->imagen; }?>" alt="<?php echo $row->seo ?>"/></a></div>        
    </div>
    <?php } ?>

谢谢你的时间!

4 个答案:

答案 0 :(得分:1)

file_exists应指向文件系统中的某些内容。

尝试这样的事情:

if (file_exists('/Library/WebServer/Documents/theimage.jpg')) {
  echo 'File exists';
} else {
  echo 'Does not exist';
}

OR

if (file_exists('./theimage.jpg')) {
  echo 'File exists';
} else {
  echo 'Does not exist';
}

如果我申请你的代码,那将是:

<div class="wrapper"><a href="store.php?url=<?php echo $row->url ?>"><img src="images/stores/category/
if (empty($row->image) or !file_exists('./images/stores/category/'.$row->image)) { 
    echo 'generic.jpg';
}else{                  
    echo $row->imagen; }?>" alt="<?php echo $row->seo ?>"/></a></div>        
    </div>
<?php } ?>

答案 1 :(得分:0)

记住错字$ row-&gt; imagen。 我看到$ row-&gt;图像只包含文件名。除非图片在您当前的工作目录中,否则您需要file_exists的完整路径:

file_exists('htdocs/path/to/my/images/' . $row->image)==false)

要了解您需要的路径,请将php文件放入带有内容的图片文件夹

die(__FILE__);

祝你好运

答案 2 :(得分:0)

好的代码应该是这样的:

注1:使用is_file检查文件是否存在且可用

注意2:使用从脚本到文件的相对路径,因为该字段仅包含 文件名

注3:$ row-&gt; imagen

上的拼写错误
<div class="wrapper"><a href="store.php?url=<?php echo $row->url ?>"><img src="images/stores/category/

<?php           
if (empty($row->image) || !is_file('images/stores/category/' . $row->image)) { 
    echo 'generic.jpg';
}else{                  
    echo $row->image; }?>" alt="<?php echo $row->seo ?>"/></a></div>        
    </div>
    <?php } ?>

答案 3 :(得分:0)

我们有几乎相同的问题。但是对我来说如何无法使用显示我的数据库中的缸图像/空图像 <?php if(!empty($row[image])){ ?>"; <img class='img-size' src='admin/upload_images/".$row['image']."'> <?php } ?> 它不会工作。