video — php getID3, возвращающий ту же информацию об обновленном файле?

Я использую библиотеку getID3, чтобы получить подробную информацию об удаленном видеофайле. Я пытаюсь прочитать часть файла, чтобы получить подробную информацию о файле, однако некоторые видео не содержат полную информацию в начале.

Для этих видео я пытаюсь загрузить полное видео, а затем извлечь соответствующую информацию. Однако даже после полной загрузки видео getID3-> analysis ($ filename) возвращает ту же ошибочную информацию о файле.

Но когда я копирую видео, а затем запускаю функцию анализа ($ filename.’copied.mp4 ‘) для скопированного видео, он возвращает правильную информацию, даже если содержимое файла одинаково. Возможно, getID3 не загружает видео снова, однако, как я могу исправить эту проблему, не копируя видео.

Пожалуйста, найдите код ниже.

if ($fp_remote = fopen($remotefilename, 'r')) {
echo 'conn opened';
$localtempfilename = tempnam('/home/xerox/abc', 'whateva').'.mp4';
if ($fp_local = fopen($localtempfilename, 'wb')) {
$count = 0;
$countExpiry = 8;
while ($buffer = fread($fp_remote, 8192)) {
$count++;
fwrite($fp_local, $buffer);
if ($count >= $countExpiry) {
fflush($fp_local);
$getID3 = new getID3;
$ThisFileInfo = $getID3->analyze($localtempfilename);
if ($ThisFileInfo["error"]){
print "problem encouterd";
$countExpiry += 1000;
} else {
break;}
}
}
fclose($fp_local);
$getID31 = new getID3;
copy ( $localtempfilename, $localtempfilename.'_copied.mp4' );
$ThisFileInfoz = $getID31->analyze($localtempfilename.'_copied.mp4');
// Delete temporary file
unlink($localtempfilename);
fclose($fp_remote);
var_dump($ThisFileInfoz);
}

}

2

Решение

Вызов clearstatcache решил проблему для меня,

поскольку повторные вызовы таких вещей, как размер файла, будут кэшироваться
Файловая система и getID3 не будут считываться после конца файла.

источник: Джеймс Хайнрих, разработчик getID3.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]