0

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

一切也都位于 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);

这将返回错误。

我尝试了一个 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)
4

2 回答 2

0

如果你在里面/ajax/ajax_file.php并且你在寻找 'img/250x250/'.$image_name.'.jpg'它会在寻找/ajax/img/250x250/'.$image_name.'.jpg. 相反,您应该使用

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

虽然我不确定它为什么会出现在图像标签中,但我猜你很幸运,你的浏览器正在修复 url。

于 2012-08-10T19:10:45.630 回答
0

似乎您需要在访问 img 文件夹之前分支出 ajax 文件夹?

尝试:

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

@亚历克斯·卢尼克斯

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

于 2012-08-10T19:11:47.197 回答