我必须将图片发送到网络服务。 Web服务应该以字节(mayby bytearray)的形式接收图像 - 而不是字符串...如何将图像转换为“byte”或bytearray?
我试过这个(没有成功):
$image1 = file_get_contents("LINK TO IMAGE");
$image1BinaryData = "".base64_encode($image1)."";
任何帮助将不胜感激......
答案 0 :(得分:8)
您是否尝试将图像直接读取为二进制数据?
<?php
$filename = "image.png";
$file = fopen($filename, "rb");
$contents = fread($file, filesize($filename));
fclose($file);
?>
答案 1 :(得分:2)
这是实际的字节数组,相当于在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));
答案 2 :(得分:0)
php字符串是二进制文件,因此它已经是字节数。
摆脱base64_encode()并使用urlencode()或rawurlencode()