Итак, я хочу, чтобы пользователь мог загрузить изображение, PHP-скрипт добавит к нему водяной знак, а изображение будет размещено на imgur с использованием imgur API.
Добавление водяного знака к изображению и размещение его в 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