2015-08-31 29 views
0

使用php脚本生成Identicons。 使用<img>优良工程直接保存使用php生成的图像

$input="create_image/identicon.php?size=48&hash=$hashvalue"; 
$output=$username."_userimage.png"; 

此作品显示结果:

echo "<img src='$input'>"; 

但这并不:(它只是创建一个空文件)

file_put_contents($output, file_get_contents($input)); 

,并抛出一个no such file or directory异常,它与用于显示图像的src属性的url相同。

试图保存它的问题是什么?

林不知道这个问题是否是file_put_contentsfile_get_contents

+1

将全限定域添加到'$ input' –

+0

@CharlotteDunois工作正常,谢谢 – Minzkraut

回答

1

使您可以使用file_get_contents()从文件系统或通过HTTP远程主机加载文件与网址的工作。但是您需要为PHP提供完整的url以便使用HTTP功能(php.ini也需要这样做)。否则,它将逐字地搜索文件系统上的文件create_image/identicon.php?size=48&hash=$hashvalue(当然会被替换的变量)。

0

试试这个的imagepng($input, $output);代替file_put_contents

+0

我如何正确输入它?当我插入$输入,因为我现在,我引发错误(期望参数,eter 1是资源)...我阅读imagepng的手册页,但不管我尝试它不会工作 – Minzkraut

0

file_x_contents作品与现实的路径,你的IMG SRC的工作原理与webpath。所以file_get_contents需要UNIX-Path。 编辑:正如在评论中指出这是可能的,如果在php.ini

+1

错误。如果在php.ini中启用'file_get_contents'可以与URL一起使用。 –

+0

行不知道,谢谢!它是否默认启用? –