【问题标题】:problem with image in phpphp中的图片问题
【发布时间】:2011-05-07 11:19:26
【问题描述】:

我想展示一张图片并写在下面的代码

$path = "C:\xampp\htdocs\me\1.jpg";
$image1 = imagecreatefromjpeg($path);
header('Content-Type: image/jpeg');
imagejpeg($image1);

但是当我在 Firefox 中运行它时,它会显示:

图片 “http://127.0.0.1/me/Untitled%201.php” 无法显示,因为它 包含错误。

什么问题?

编辑:

我删除了 header 函数,但它有这个错误:

警告:imagecreatefromjpeg(C: mpp\htdocs\me.jpg) [function.imagecreatefromjpeg]:失败 打开流:参数无效 C:\xampp\htdocs\me\Untitled 1.php on 第 136 行

警告:imagejpeg() 期望参数 1 是资源,布尔值 在 C:\xampp\htdocs\me\Untitled 中给出 1.php第138行

毕竟工作它会显示一些像这样的字符

    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ¸)"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ?ùþŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š

【问题讨论】:

  • 问题已通过移除 标签解决

标签: php image


【解决方案1】:

在这种特定情况下,您忘记转义文件路径中的反斜杠 \。使用转义的反斜杠 \\ 或 - 更好 - 正斜杠:/

   $path = "C:/xampp/htdocs/me/1.jpg";

要调试这样的东西,请删除 header() 行以查看图像的源代码以查看破坏它的 PHP 错误消息。

【讨论】:

  • 正要这么说。在 Windows 服务器上,我通常使用 c:\\folder\\folder2\\file.ext 单斜杠不起作用,除非您使用正斜杠或双反斜杠。它在您的错误中也清晰可见,它声明 C: xampp 而不是 C:\xampp
  • @mehdi 你在解决问题后把标题放回去了吗?删除标头仅用于调试目的。要查看图像,您需要标题。
  • 图片“127.0.0.1/me/Untitled%201.php”包含错误,无法显示。
  • 奇怪。那么特殊字符中没有人类可读的错误消息吗?如果1.jpg 确实是一个有效的 JPG 文件,那我不知道这是什么。
【解决方案2】:

您的图像包含错误,什么错误?尝试暂时删除header() 函数。

$path = "C:\xampp\htdocs\me\1.jpg";
$image1 = imagecreatefromjpeg($path);
#header('Content-Type: image/jpeg');
imagejpeg($image1);

【讨论】:

    【解决方案3】:

    (C: mpp\htdocs\me.jpg)

    如你所见,这与

    (C:\mpp\htdocs\me.jpg)

    所以你需要改变你的代码:

    $path = "C:/xampp/htdocs/me/1.jpg";
    $image1 = imagecreatefromjpeg($path);
    header('Content-Type: image/jpeg');
    imagejpeg($image1);
    

    或者像这样:

    $path = 'C:\xampp\htdocs\me\1.jpg';
    $image1 = imagecreatefromjpeg($path);
    header('Content-Type: image/jpeg');
    imagejpeg($image1);
    

    还要调试:

    1. 删除标题。
    2. 做回声...

    $path = 'C:\xampp\htdocs\me\1.jpg'; <-- single quoted
    echo $path;
    $image1 = imagecreatefromjpeg($path);
    //header('Content-Type: image/jpeg'); <-- commented
    imagejpeg($image1);
    

    阿森

    【讨论】:

    • @mehdi 这是预期的输出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多