Я прочитал часть файла и теперь хочу убедиться, что у части правильный размер. Как это сделать на php?
$part = fread($file, 1024);
return some_function($part) == 1024;
Я читал примеры, но я сомневаюсь, что буду использовать strlen из-за строки с завершающим нулем, которая может находиться внутри двоичных данных в $ part. Таким образом, strlen возвращает размер от начала части и до тех пор, пока в данных не будет представлен первый нулевой байт.






Согласно документации PHP для функции fread (), вы можете использовать конструкцию с использованием размер файла(), как показано в первом примере:
<?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);
?>
Обновление: для определения размера файла можно использовать функцию stat () без открытия или fstat () для открытого файла.
Как указано в руководстве по PHP, Strlen возвращает количество байтов в строке, а не длину символа.
В PHP нулевой байт в строке учитывает НЕТ как конец строки, и любые нулевые байты включаются в длину строки.
Таким образом, Strlen можно использовать для двоичных данных, независимо от того, взяты ли данные из файла или из другого источника.
Мне нужно знать размер текущей части файла, но fstat / stat возвращает размер всего файла.