プラットフォームに依存する問題であるに違いありません。このコードを試してください:
$filename = "www.example.com/public_html/data/video/temp.mov";
$file = fopen ($filename, "r")
or exit("unable to open file");
fseek ($file, filesize ($filename) - 128);
HTTPラッパーはシークをサポートしていません。HTTPを介してリモートファイルを検索する場合は、ファイルのサイズを取得する必要があります。考えられる方法の1つは、ディレクトリリストを解釈するか、HEAD
要求を行うことです。ファイルサイズがわかっている場合は、ここのようにcurlとRangeを使用できます。
これは、リモートファイルサイズを取得する方法でもあります。
cURLを使用してファイルをダウンロードする方法(この例では、データをPHP変数にロードします。データを処理する場合にのみ使用します。外部ファイルに保存する場合は、CURLOPT_RETURNTRANSFERではなくCURLOPT_FILEを使用します)。
$c = curl_init ();
curl_setopt ($c, CURLOPT_URL, "http://example.com/some_dir/some_file.ext");
curl_setopt ($c, CURLOPT_RANGE, max (0, $filesize - 128) . '-' . max (0, $filesize - 1));
curl_setopt ($c, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec ();
echo ($content);