首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在GD (PHP)中找不到图像

在GD (PHP)中找不到图像
EN

Stack Overflow用户
提问于 2010-11-15 14:55:39
回答 6查看 820关注 0票数 0

我试图在我的图像上加一个水印,但是脚本找不到我的水印图像。我是动态地这样做的,所以每个用户在水印文件夹中都有一个水印。当尝试使用此代码时:

代码语言:javascript
运行
复制
session_start();
$username = $_SESSION['_user_login'];

// Set the path to the image to watermark
$input_image = $targetPath.$newName; 
// Read in the text watermark image
$watermark = imagecreatefrompng("../watermarks/$username.png");

什么都没发生。我试着打印用户名变量,它运行得很好。我甚至试着打印这张照片,它也能用。但是,当使用图像时,水印图像是永远找不到的。在我的日志中,我看到以下错误:

警告:imagecreatefrompng(./水印/..png) function.imagecreatefrompng:未能打开流:没有这样的文件或目录

我还是不明白。我做错了什么?

谢谢。

EN

回答 6

Stack Overflow用户

发布于 2010-11-15 15:00:57

您需要使用:

代码语言:javascript
运行
复制
$watermark = imagecreatefrompng(dirname(dirname(__FILE__)) . "/watermarks/" . $username . ".png");

(在使用此方法之前,可以打印dirname(__FILE__)以检查目录结构)。

票数 1
EN

Stack Overflow用户

发布于 2010-11-15 15:01:09

线索就在警告里:

代码语言:javascript
运行
复制
imagecreatefrompng(../watermarks/.png)

它正在寻找一个名为.png的文件,因此很明显,您的$username = $_SESSION['_user_login'];并没有真正返回用户名,也没有正确地创建字符串。

您是否尝试过在字符串中使用大括号,比如:"../watermarks/{$username}.png"?如果这不起作用,那么你的用户名就有问题了。

票数 1
EN

Stack Overflow用户

发布于 2010-11-15 15:01:40

$username似乎是空白的。因此,“imagecreatefrompng(./水印/..png)”

我建议先调试,确保您请求的文件路径是有效的。

代码语言:javascript
运行
复制
session_start();
$username = $_SESSION['_user_login'];

// Set the path to the image to watermark
$input_image = $targetPath.$newName; 
// Read in the text watermark image
$filestring = "../watermarks/$username.png";
echo "LOOKING FOR $filestring";
$watermark = imagecreatefrompng($filestring);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4185542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档