我正在开发一个系统,用户可以上传最多四张照片。如果用户没有上传照片,我希望会显示以下文字:'空白'。
我准备了下面的代码,但是我没有管理:/问题是,当图片上传时,它仍会打印出“空白”字样。并且上传的图像不会显示。
<?php if (file_exists('../files/collection/photo2/' .$collection['Collection']['photo_dir2'] . '/thumb_' . $collection['Collection']['photo2']))
{
echo $this->Html->image('../files/collection/photo2/' . $collection['Collection']['photo_dir2'] . '/thumb_' . $collection['Collection']['photo2']);}
else
{
echo ('empty');
}
?>
感谢您的指导和帮助:)
答案 0 :(得分:2)
TLDR:您要检查的文件不存在。修复你的路径。
<强>详情:强>
您尝试对HTML <img>
以及PHP file_exists()
检查使用相同的路径。
问题是,HTML图像正在通过用户的浏览器查找文件,file_exists()
方法正在通过您的服务器查找文件。这两条路很少相同。
尝试在PHP的file_exists()
方法中使用正确的路径,并且应该通过检查。
例如:
if(file_exists(APP . 'files' . DS . 'collection' . DS . 'photos2' . $collection['Collection']['photo_dir2'] . DS . 'thumb_' . $collection['Collection']['photo2'])) {
echo $this->Html->image('../files/collection/photo2/' . $collection['Collection']['photo_dir2'] . '/thumb_' . $collection['Collection']['photo2']);
}
else {
echo ('empty');
}