0

我使用 php 脚本生成Identicons 。使用 a 显示结果<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_contentsfile_get_contents

4

3 回答 3

1

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

于 2015-08-31T12:20:02.100 回答
0

试试这个imagepng($input, $output);,而不是file_put_contents

于 2015-08-31T11:45:21.550 回答
0

file_x_contents 适用于真实路径,而您的 img src 适用于 webpath。所以 file_get_contents 需要 UNIX-Path。 编辑:正如评论中指出的那样,如果在 php.ini 中启用,则可以使用 URL

于 2015-08-31T11:45:56.720 回答