我必须将一张图片发送到网络服务。web服务应该以字节(可以是bytearray)的形式接收图像,而不是以字符串的形式接收。如何将图像转换为"byte“或bytearray?
我已经尝试过了(没有成功):
$image1 = file_get_contents("LINK TO IMAGE");
$image1BinaryData = "".base64_encode($image1)."";
任何帮助都将不胜感激。
发布于 2012-05-21 14:41:58
您是否尝试过将图像直接读取为二进制数据?
<?php
$filename = "image.png";
$file = fopen($filename, "rb");
$contents = fread($file, filesize($filename));
fclose($file);
?>
发布于 2012-07-12 12:07:24
这是实际的字节数组,等同于在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));
发布于 2012-05-21 14:38:26
php字符串是二进制的,所以它已经是以字节为单位的。
去掉base64_encode(),使用urlencode()或rawurlencode()
https://stackoverflow.com/questions/10687270
复制相似问题