Php can';无法使文件“”正常工作
我试着做一些看似简单的事情:如果用户想要更改图片,他们可以,如果没有图片,他们可以上传一张。我想首先确定照片是否已经存在。如果是,则其文件名为site_id.jpg。变量$site_id将正确的照片与正确的用户连接起来。这是我的密码:Php can';无法使文件“”正常工作,php,file-exists,Php,File Exists,我试着做一些看似简单的事情:如果用户想要更改图片,他们可以,如果没有图片,他们可以上传一张。我想首先确定照片是否已经存在。如果是,则其文件名为site_id.jpg。变量$site_id将正确的照片与正确的用户连接起来。这是我的密码: <?php $image_exists=""; $image_exists=file_exists('/home/tippc0/public_html/observations_images/160/'.$site_id.'.jpg'); if ($ima
<?php
$image_exists="";
$image_exists=file_exists('/home/tippc0/public_html/observations_images/160/'.$site_id.'.jpg');
if ($image_exists) {
echo $image_exists;
echo $site_id;
?>
<img src="/home/tippc0/public_html/observations_images/160/'.$site_id.'.jpg" />
echo语句用于故障排除,而
用于向我显示照片,同样也是用于故障排除
所以,问题是:“file_exists”表示文件存在(返回1),即使不存在。我知道不存在,因为(a)数据库中没有文件,(b)我得到了标准的“无图像文件退出”图标(带有问号的正方形)来代替照片
如果我为文件命名而不是使用'.site_id'.jpg
,它会返回false。如果没有文件名,只有以/160/
结尾的路径,file_exists
返回true,可能是因为目录“160”存在
为什么
file\u存在
说一个文件存在,而它不存在 您的web服务器将无法访问/home/tippc0目录。它将从web服务器根目录(可能是public_html文件夹)进行导航,以便在此处查找文件
/home/tippc0/public\u html/observations\u images/160/
但是试图从中输出文件
/home/tippc0/public\u html/home/tippc0/public\u html/observations\u images/160/
它找不到,因此当它试图显示图像时,图像被破坏。要解决此问题,请确保文件存储在可以从web服务器访问的位置。如果public_html是您的web服务器根目录,请将您的img标记如下:
.jpg”/>
-但最好在处理之前验证$site\u id,图像的输出html应为.jpg”/>
,谢谢您,埃斯科瓦尔先生。你的答案被整合到下面Ethan22的答案中,这很有帮助。另一个问题:
语句为什么要包含谢谢。这有帮助。它允许我看到实际上有一个图像文件,即使我的其他代码没有看到它。我将不得不处理其他代码(我在这里没有引用,也不是本文的一部分)。