我想尝试将图片转换为二进制图像。
我在网上发现了一个脚本,但它不起作用。
有人可以告诉你为什么吗?
<?php
$image="image003.jpg";
$data = fopen ($image, 'rb');
$size=filesize ($image);
$contents= fread ($fd, $size);
fclose ($fd);
$encoded= base64_encode($contents);
echo $encoded;
?>
我在第8行和第9行出现错误
Warning: fread() expects parameter 1 to be resource
和
Warning: fclose() expects parameter 1 to be resource,
答案 0 :(得分:6)
使用$data
代替$fd
$data = fopen ($image, 'rb');
$size=filesize ($image);
$contents= fread ($data, $size);
fclose ($data);
答案 1 :(得分:1)
正如您在此处所见http://php.net/manual/en/function.fread.php
因此,您可以阅读fread
需要使用fopen
生成资源。
在您的情况下:
<?php
$image = "image003.jpg"; // be careful that the path is correct
$data = fopen($image, 'rb');
$size = filesize($image);
$contents = fread($data, $size);
fclose($data);
$encoded = base64_encode($contents);
echo $encoded;
?>