Преобразование изображения в байт с помощью 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 ()