【发布时间】:2013-03-17 10:26:15
【问题描述】:
所以,我想要的是用户可以上传图片的地方,一个 PHP 脚本会为其添加水印,并且图片将使用 imgur API 托管在 imgur 上
给图片加水印,托管到imgur上是没有问题的,但是问题是:上传图片到imgur,必须通过图片的base64,已经给的图片取不出来PHP脚本使用file_get_contents和fopen加水印,总是报错
请有人帮我解决问题,以便我可以获取图像,将其编码为 base64
就是这样
更新:
只是告诉你,我使用该功能直接打开 PHP 文件而不先将图片保存到磁盘,由于某种原因我无法将图像保存到磁盘,这就是我使用 imgur 的原因
再次更新:
这是我的代码:
<?php
header('Content-type: image/png');
$image = $_GET['url'];
$imagesize = getimagesize($image);
$img = imagecreatetruecolor($imagesize[0], $imagesize[1] + 50);
imagecopy($img, imagecreatefrompng($image), 0, 0, 0, 0, $imagesize[0], $imagesize[1]);
$string = "Some wild watermarks";
$font = "font.ttf";
$fontSize="30";
$textColor = imagecolorallocate($img, 255,255,255);
$x=7;
$y=$imagesize[1] + 42;
imagettftext($img,$fontSize,0,$x,$y,$textColor,$font,$string);
imagepng($img);
?>
这是我得到的错误:
使用file_get_contents:
Warning: file_get_contents(watermark.php?url=roughdesign.png) [function.file-get-contents]: failed to open stream: Result too large in URL
使用fopen:
Warning: fopen(watermark.php?url=roughdesign.png) [function.fopen]: failed to open stream: Result too large in URL
Warning: filesize() [function.filesize]: stat failed for URL
Warning: fread(): supplied argument is not a valid stream resource in URL
【问题讨论】:
-
请发布您的代码。
-
“总是出错”不是对您的问题的正确描述。解释并展示您尝试过的内容、发生的错误以及您预期会发生的情况。
-
@cryptic:稍后当我到达我的电脑时
-
主题与您的问题无关。你应该重新考虑一下。因为通过阅读它,假设您相信您在创建水印和上传图像方面存在问题(我认为这是两个单独的问题),但随后您声明这不是问题。此外,“它总是给出错误”的信息量不足。甚至在写入文件或尝试打开错误的路径之前,所有内容都可能从锁定文件变为错误。 quality.mozilla.org/docs/bugzilla/starter-kit/…
-
@repox:我完全忘记了错误的含义,但如果我没记错的话,它会说“图片超出了最大文件大小”。我想知道为什么会出现错误,因为图片不大