【问题标题】:Just another php image exists issue只是另一个php图像存在问题
【发布时间】:2012-08-10 19:07:18
【问题描述】:

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

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

我尝试了一个使用 cUrl 的 img_exists($url) 函数,但它不起作用。

我也试过了:

$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)

【问题讨论】:

  • 告诉我们你从哪里得到 $code?或者 $image_name 因为它似乎在某个地方发生了变化......
  • $image_name 来自 $_POST

标签: php image exists


【解决方案1】:

好像需要从ajax文件夹分支出来才能访问img文件夹?

试试:

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

@亚历克斯·卢尼克斯

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

【讨论】:

  • $url 正以 $response 的形式发回。
  • kk 我试图描绘这个:P 所以你通过 ajax 发送这个请求来检查文件是否存在并将正确的 url 发送回调用页面?
【解决方案2】:

如果您在 /ajax/ajax_file.php 中并查找“img/250x250/'.$image_name.'.jpg'”,它将查找 /ajax/img/250x250/'.$image_name.'.jpg。相反,您应该使用

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 2018-06-22
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    相关资源
    最近更新 更多