只是另一个PHP图像存在问题

时间:2012-08-10 19:07:18

标签: php image exists

所有这些东西都是例如(名字不是实际的)。

所有内容也位于localhost:8080(USBWebserver 8.5)

目录结构: (位于localhost上的文件:8080 / [project_name])

/ajax
    /ajax_file.php
/img
    /250x250
        /[image_name].jpg

代码(来自ajax_file.php):

$url = 'img/250x250/'.$image_name.'.jpg';
$url = file_exists($url);

这将返回false。

我尝试了一个img_exists($ url)函数,该函数使用了无效的cUrl。

我也尝试过:

$url = 'img/250x250/'.$image_name.'.jpg';
$image_check = getimagesize($url);

if (!is_array($image_check))
{
    $url = 'img/default_image.png';
}

但是这会返回getimagesize()的警告,表示不存在任何文件或目录。

当我将$url = 'img/250x250/'.$image_name.'.jpg'放入<img src="$url" />时,图片会显示出来......但如果图片不存在则会出现图像损坏...

我试图做的任何事情都会以某种方式失败?

我希望在图像损坏时显示默认图像:/

修改

$url = 'img/products/250x250/'.$image_name.'.jpg';
$url = var_dump(file_exists($url));
Returns bool(false)

$url = '../img/products/250x250/'.$image_name.'.jpg';
$url = var_dump(file_exists($url));
Returns bool(false)

2 个答案:

答案 0 :(得分:0)

如果您在/ajax/ajax_file.php,并且您正在寻找“img/250x250/'.$image_name.'.jpg',则会找到/ajax/img/250x250/'.$image_name.'.jpg。相反,你应该使用

$url = '../img/250x250/'.$image_name.'.jpg';

虽然我不确定它出现在图像标签中的原因,但我猜你是幸运的,你的浏览器正在修复网址。

答案 1 :(得分:0)

在访问img文件夹之前,好像你需要分支出ajax文件夹?

尝试:

$url = '../img/250x250/'.$image_name.'.jpg'; 

@Alex Lunix

我的猜测是他把img标签放在实际的php页面里面,而不是ajax脚本。