我是PHP的新手,我想做的是让PHP检查特定目录中是否存在具有特定名称的特定图像文件,然后回显该文件的名称,但如果是不存在,然后只显示XXX.png。
我目前有一个页面(http://powerplantv2.jehzlau.net/ppm-deals),它回应了Magento中某个属性的所有产品名称。
此页面根据属性名称调用所有图像。例如,在我的页面中有一个名为" cool haan
"的属性名称。因此它会自动调用名为" coolhaan.png
"的图像。如果有一个名为" levis"的属性名称。然后它会显示一个名为levis.png的图像。
但如果目录中没有levis.png,我也不知道如何添加条件,我只想打电话给XXX.png。
如果图像存在与目录中的某个属性匹配,我该如何让PHP首先检查,然后show attributename.png,如果现在,XXX.png。
目前,以下是我的代码:
<?php
$name ='deals';
$attributeInfo = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter($name)->getFirstItem(); $attributeId = $attributeInfo->getAttributeId();
$attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId); $ppmtenants =
$attribute ->getSource()->getAllOptions(false); ?>
<?php foreach ($ppmtenants as $ppmtenant): ?>
<img src="<?php echo $this->getUrl() ?>media/wysiwyg/Deals/<?php echo strtolower($ppmtenantclean); ?>.png">
<?php endforeach; ?>
上面的代码从某个属性获取所有选项,然后显示具有属性名称的所有图像。我想要做的是在显示之前先检查图像名称。
为了简化我的问题,我只想为没有图像的属性添加名为XXX.png的占位符图像。 :d
答案 0 :(得分:2)
您可以使用file_exists()http://php.net/manual/en/function.file-exists.php检查文件是否存在,然后显示图像,否则输出占位符图像。
<?php if(file_exists(path_to_your_file)) {
// Image does exist, fetch the image
} else {
// Image doesn't exist, output xxx.png
}
?>
答案 1 :(得分:1)
<?php
if (!file_exists("PATH_TO_IMAGE") {
//display xxx.png
} else {
//load the image
}
答案 2 :(得分:1)
到目前为止发布的答案都是正确的,但为了方便您,您可以这样做:
<?php foreach ($ppmtenants as $ppmtenant):
if(file_exists($this->getUrl()."media/wysiwyg/Deals/".strtolower($ppmtenantclean).".png"))
{ ?>
<img src="<?php echo $this->getUrl() ?>media/wysiwyg/Deals/<?php echo strtolower($ppmtenantclean); ?>.png">
<?php
}
else
{
echo '<img src="xxx.png" alt="No image" />';
}
?>
<?php endforeach; ?>