0

我正在开发一个系统,用户最多可以上传四张照片。如果用户不上传照片,我希望将显示以下文本:“空”。

我已经准备了下面的代码,但是我没有管理:/问题是当上传图像时它仍然打印“空”并且上传的图像没有显示。

<?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');
}
?>

感谢您的指导和帮助:)

4

1 回答 1

2

TLDR: 您要检查的文件不存在。修正你的路径。

详细信息: 您尝试对 HTML<img>和 PHPfile_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');
}
于 2015-03-29T22:01:15.990 回答