我使用php脚本生成Identicons。
使用<img>
显示结果正常
$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_contents
还是file_get_contents
答案 0 :(得分:1)
您可以使用file_get_contents()
从文件系统或通过HTTP从远程主机加载文件。但是你需要给PHP提供完整的url才能使用HTTP功能(php.ini也需要允许这个)。否则,它会在文件系统上搜索文件create_image/identicon.php?size=48&hash=$hashvalue
(当然已替换的变量)。
答案 1 :(得分:0)
试试这个imagepng($input, $output);
而不是file_put_contents
答案 2 :(得分:0)
file_x_contents适用于实际路径,而img src适用于webpath。所以file_get_contents需要UNIX-Path。 编辑:正如评论中指出的那样,如果在php.ini中启用了URL,则可以使用URL