php有很多很多函数可以打开一个url地址,同时返回一个指针,用于像文件一样操作取得的内容。
但是发现一个问题,就是没有办法直接定位到某一个位置,在该位置后,读取一段数据。

文件操作函数中有个fseek的函数,很方便,可以直接通过偏移量将指针移动到指定位置,但它却不能应用到打开url的指针!

试了一下,在windows下没有什么问题,linux下面就出现问题了。仔细找了找原因,应该是\r\n \n的问题。

于是自己写了个遍历的程序来移动指针,果然,调整的\r\n的问题之后,指针位置就会准确移动过去。

不过可惜,虽然找到了原因,但自己写的遍历程序效率很低,时间复杂度是线性的,不是一个C,导致文件越大,遍历时间越长。。。

后来虽然找到了函数stream_get_contents函数,在php5.1后中加入了偏移量的参数,但测试之后发现,移动偏移量也有同样的问题,而且时间复杂度也是线性的,和我写的差不了多少吧

如果有人有解决办法,请回复给我,不胜感激!

2 对 “php在访问url地址时的问题”的想法;

发表评论

邮箱地址不会被公开。 必填项已用*标注