我有一個視頻文件,我需要使用一個函數來抓取而不是直接鏈接。 當我查看了直接鏈接的視頻頁面代碼,這是我在屏幕上:如何在使用fread後刪除出現在文件中的' 0'字符?
但是,當我用我的功能,首先是所有的視頻不會運行,當我查看代碼,這似乎:
我意識到這是相同的文件,同樣的人物,但在中間許多\ 0字符。這些是黃色的。
這是我使用的代碼:
$file_name = --path to file--;
$file_size = filesize($file_name);
$ctype = 'video/mp4';
header('Content-Type: '.$ctype);
header('Content-Length: ' . $file_size);
header("Accept-Ranges: bytes");
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Pragma: no-cache');
$file = fopen($file_name, 'rb');
$read = fread($file, $file_size);
print($read);
fclose($file);
exit;
我是否需要更改代碼?有什麼讓fread正確讀取文件? 或者我需要對要顯示的文件進行某種處理?
NUL字節在原始文件中,但您的瀏覽器不會顯示它們,因爲它們是NUL字節,並且沒有任何內容顯示它們。他們應該在那裏。你爲什麼認爲你需要刪除它們? – DaveRandom
還要注意,由於你的代碼沒有努力處理字節範圍,所以你應該刪除'header(「Accept-Ranges:bytes」);' – DaveRandom
因爲視頻沒有顯示,所以必須有錯誤數據。 – Sarah