7

写真をWebサービスに送信する必要があります。Webサービスは、画像を文字列ではなくバイト(場合によってはbytearray)として受信する必要があります...画像を「byte」またはbytearrayに変換するにはどうすればよいですか?

私はこれを試しました(成功せずに):

$image1 = file_get_contents("LINK TO IMAGE");
$image1BinaryData = "".base64_encode($image1)."";

どんな助けでもありがたいです...

4

3 に答える 3

9

画像をバイナリデータとして直接読み取ろうとしましたか?

<?php
$filename = "image.png";
$file = fopen($filename, "rb");
$contents = fread($file, filesize($filename));
fclose($file);
?>
于 2012-05-21T14:41:57.810 に答える
3

これは、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-07-12T12:07:24.057 に答える
0

PHP文字列はバイナリであるため、すでにバイト単位になっています。

base64_encode()を削除し、urlencode()またはrawurlencode()を使用します

于 2012-05-21T14:38:25.980 に答える