首先,stream_get_contents的参数为:
resource
length=-1
offset=-1
如果你认为stream_get_contents(resource)使用默认参数时,offset一定会默认从0开始就错了,如果resource相同的话,offset会从当前位置开始。
比如:
a = stream_get_contents(resource) 会从0开始,然后seek回到length+1 此时a是有内容的
b = stream_get_contents(resource) 会从length+1开始,此时b将是空白
我写下这段话时心情很沉重,因为我曾经批量将一系列stream_get_contents修改为使用默认参数的;到现在才发现(而且是反馈BUG才发现)。对于自己往日的不负责任和粗心大意,实在是羞愧得几乎快要无地自容。希望不要酿成严重的后果。
留文在此,警戒自己以后一定要细读API。
本文详细解释了PHP函数stream_get_contents的使用方式,特别是当使用默认参数时的行为特点,并通过实例说明了不同调用方式对资源读取位置的影响。

被折叠的 条评论
为什么被折叠?



