我有一个托管在远程服务器上的大文件(500 MB)。此文件包含使用 AMF3 嵌入的可识别字节块。这些块可以通过我提前设置的预定义字符串前缀来识别。在这种情况下,我在创建过程中的各个点将字符串“前缀”附加到文件中。
我想使用PHP遍历文件的整个长度,找到这些字符串前缀的确切位置,而不是在服务器上本地复制文件,但是我遇到了问题。现在,我正在使用一个简单的 file_get_contents 和一个指向远程服务器上文件的 HTTP URL,如下所示:
$file = file_get_contents('http://remote.server.com/file.xxx')
while($offset = strpos($file, 'prefix', $offset + 1)){
//find prefix string value here using regex
// store the position of the value somewhere
}
不幸的是,它在非常大的文件上效果不佳,我收到 500 内部服务器错误。 有没有更好的方法来遍历远程托管的整个文件的字节,而无需先在本地复制文件?