Я пытаюсь захватить изображение с внешнего сервера с помощью fsockopen
в PHP. Мне нужно получить данные изображения в переменную в кодировке BASE64 в моем коде. Изображение является файлом типа .jpeg и представляет собой небольшое изображение.
После некоторых поисков я не смог найти ответы на Google. Так что я задаюсь вопросом, возможно ли это даже прямо, без каких-либо странных обходных решений?
Любая помощь и / или предложения очень ценится!
Обратите внимание, что allow_url_fopen
отключен на моем сервере из-за угроз безопасности.
Это мой текущий код:
$wn_server = "111.111.111.111"; $url = "GET /webnative/portalDI?action=getimage&filetype=small&path=".$tmp." HTTP/1.1\r\n"; $fp = fsockopen($wn_server,80,$errno,$errstr,15); stream_set_timeout($fp, 30); $imageDataStream = ""; if (!$fp) { echo "Error " . $errno . "(" . $errstr . ")"; } else { $out = $url; $out .= "Host: " . $wn_server . "\r\n"; $out .= "Authorization: Basic " . $_SESSION['USER'] . "\r\n"; $out .= "Connection: Close\r\n\r\n"; $out .= "\r\n"; fwrite($fp, $out); while (!feof($fp)) { $imageDataStream .= fgets($fp, 128); } fclose($fp); }