2012-08-03 231 views
-5

我想随机化背景图片并在其上生成一些文本。 因此,这里是一块我的代码:警告:imagecreatefromjpeg(.jpg)无法打开流:没有这样的文件或目录

$background=$option.".jpg"; 
$opt="0,1,2,3,4,5,6,7"; 
$opt=explode(",",$opt); 
$option=$opt[rand(0,7)]; 

$im = imagecreatefromjpeg ($background); 

请告诉我为什么而兰特得到这个错误?!?

图片是数字0-7。

+1

你不会在'$ background'之前创建'$ option'吗?在另一个说明中..你是指的是正确的目录? – Bono 2012-08-03 17:56:13

+4

这不是一个神秘的错误消息,这里是关键部分:**没有这样的文件或目录**。 – nickb 2012-08-03 17:56:32

+1

在使用'imagecreatefromjpeg'之前,使用'echo'来了解$ background的值。并阅读错误信息! – Jocelyn 2012-08-03 17:57:42

回答

2

因为你试图使用$选项变量之前您实际上已经将其设置为你想要什么你收到此错误。

$background=$option.".jpg"; 
$opt="0,1,2,3,4,5,6,7"; 
$opt=explode(",",$opt); 
$option=$opt[rand(0,7)]; 

应该是:

$opt="0,1,2,3,4,5,6,7"; 
$opt=explode(",",$opt); 
$option=$opt[rand(0,7)]; 
$background=$option.".jpg"; 

另外,为什么用字符串麻烦?为什么不使用这个:

$background=rand(0,7).".jpg"; 
+1

为什么downvote? – 2012-08-03 18:00:09

+0

不,他得到它是因为:_没有这样的文件或目录_ – Bono 2012-08-03 18:00:17

+0

@bono $ backround变量导致“.jpg”,因为没有设置$ option,请检查问题标题。 – 2012-08-03 18:01:17

0

如果你肯定你的脚本有正确的文件路径(echo $背景),它可能是一个权限问题。确保您运行的任何Web服务器都有权读取相关文件。

相关问题