だから、私が欲しいのは、ユーザーが画像をアップロードできる場所です。PHPスクリプトは透かしを追加し、画像はimgur APIを使用してimgurでホストされます
画像に透かしを追加して imgur にホストすることは問題ではありませんが、問題は、画像を imgur にアップロードするには、写真の base64 を渡す必要があり、PHP によって透かしが付けられた写真を取得できないことです。file_get_contents
andを使用したスクリプトで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