<?php function LoadPNG($imgname) { /* Attempt to open */ $im = @imagecreatefrompng($imgname); /* See if it failed */ if(!$im) { /* Create a blank image */ $im = imagecreatetruecolor(150, 30); $bgc = imagecolorallocate($im, 255, 255, 255); $tc = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, 150, 30, $bgc); /* Output an error message */ imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc); } return $im; } header('Content-Type: image/png'); $img = LoadPNG('http://img.ruphp.com/php/328145505image_11.png'); imagepng($img); imagedestroy($img); ?>
Я получаю ошибку. Как решить. imagecreatefrompng не поддерживает файл с удаленного сервера.
Чтобы использовать файл с удаленного сервера, используйте imagecreatefromstring
в сочетании с file_get_contents
:
$im = imagecreatefromstring(file_get_contents($imgname));
Обратите внимание, что URL-адрес может использоваться как имя файла с file_get_contents
только если обертки fopen были включены.
Если это не решит вашу проблему, уточните свой вопрос. Дайте хотя бы ошибку, которую вы получаете. 🙂
Удаление @
позволит вам понять, что не так. Либо параметр appproitable не установлен, либо расширение gd было создано без поддержки PNG, либо удаленный файл не существует / не может быть загружен.