在php中获取二进制数据大小的正确方法是什么?
我已经阅读了文件的一部分,现在想确定该部分的大小是否正确。我如何用php实现它在php中获取二进制数据大小的正确方法是什么?,php,Php,我已经阅读了文件的一部分,现在想确定该部分的大小是否正确。我如何用php实现它 $part = fread($file, 1024); return some_function($part) == 1024; 我已经阅读了这些示例,但我怀疑是否应该使用strlen来解释以Null结尾的字符串,它可能位于$part中的二进制数据中。通过这种方式,strlen返回从零件开始到数据中出现第一个空字节的大小。根据函数的PHP文档,您可以使用第一个示例中所示的构造: <?php // get co
$part = fread($file, 1024);
return some_function($part) == 1024;
我已经阅读了这些示例,但我怀疑是否应该使用strlen来解释以Null结尾的字符串,它可能位于$part中的二进制数据中。通过这种方式,strlen返回从零件开始到数据中出现第一个空字节的大小。根据函数的PHP文档,您可以使用第一个示例中所示的构造:
<?php
// get contents of a file into a string
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
更新:查找不打开或打开文件时可以使用的文件大小函数。如PHP手册所述,返回字符串中的字节数,而不是字符长度 在PHP中,字符串中的空字节不算作字符串的结尾,任何空字节都包含在字符串的长度中
因此,strlen可用于二进制数据,无论数据来自文件还是其他来源。我需要知道文件当前部分的大小,但fstat/stat返回所有文件的大小。