【发布时间】:2023-04-02 23:33:01
【问题描述】:
我需要通过 HTTP/GET 以大约 1k 块传输任何类型或大小的文件。生成的文件哈希需要与源文件匹配。这需要在本地 PHP 中完成,无需任何特殊工具。我有一个基本的策略,但我得到了奇怪的结果。这个概念证明只是在本地复制文件。
代码
<?php
$input="/home/lm1/Music/Ellise - Feeling Something Bad.mp3";
$a=pathinfo($input);
$output=$a["basename"];
echo "\n> ".md5_file($input);
$fp=fopen($input,'rb');
if ($fp) {
while(!feof($fp)) {
$buffer=base64_encode(fread($fp,1024));
// echo "\n\n".md5($buffer);
write($output,$buffer);
}
fclose($fp);
echo "\n> ".md5_file($output);
echo "\n";
}
function write($file,$buffer) {
// echo "\n".md5($buffer);
$fp = fopen($file, 'ab');
fwrite($fp, base64_decode($buffer));
fclose($fp);
}
?>
输出
> d31e102b1cae9c73bbf5a12615a8ea36
> 9f03f6c88ed61c07cb534922d6d31864
提前致谢。
【问题讨论】:
标签: php binaryfiles