Преобразование изображения в байт с помощью php
Я должен отправить изображение в веб-сервис. Веб-служба должна получать изображение в байтах (mayby bytearray), а не в виде строки... Как преобразовать изображения в "byte" или bytearray?
Я пробовал это (без успеха):
$image1 = file_get_contents("LINK TO IMAGE");
$image1BinaryData = "".base64_encode($image1)."";
любая помощь будет оценили...
3 ответов
вы пытались напрямую прочитать изображение как двоичные данные?
<?php
$filename = "image.png";
$file = fopen($filename, "rb");
$contents = fread($file, filesize($filename));
fclose($file);
?>
это фактический массив байтов, эквивалентный тому, что генерируется в C# и Java.
$data = file_get_contents("test.jpg");
$array = array();
foreach(str_split($data) as $char){
array_push($array, ord($char));
}
var_dump(implode(' ', $array));
строка php является двоичной, поэтому она уже в байтах.
избавиться от base64_encode () и использовать urlencode () или rawurlencode ()