我必须将图片发送到网络服务。Web 服务应该将图像作为字节(可能是字节数组)接收 - 而不是作为字符串......如何将图像转换为“字节”或字节数组?
我试过这个(没有成功):
$image1 = file_get_contents("LINK TO IMAGE");
$image1BinaryData = "".base64_encode($image1)."";
任何帮助将不胜感激...
Have you tried to directly read the image as binary data?
<?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()