除了flose()和fopen()之外,如何在PHP中再次倒带http流文件?

2022-06-10 00:00:00 http stream php fopen fseek

PHP的fopen允许您将fopen()http位置作为文件流。
但您不能fseek()rewind(),除了fclose()fopen()之外,还有其他方法可以实现吗?

php>

解决方案

其他人提到:php不支持异地流fseek()rewind()。我建议您下载/缓存该文件并与之交互。例如

$cache = fopen('php://temp', 'r+');
stream_copy_to_stream($remoteResource, $cache);
现在,您应该能够使用$cache以前使用过的$remoteResource所做的任何操作,只是您现在可以在其中进行查找(因此也可以倒带)。如果关闭临时流,则PHP将自动清除所有已使用的资源。

相关文章