社区
基础编程
帖子详情
高分--求教高手:PHP与XML的问题。
swall
2003-08-19 11:47:57
以下这个循环,什么情况下会退出?什么情况下又会死循环了?
while ($mstrData = fread($mobjFP, 4096))
{
if (!xml_parse($mobjParser, $mstrData, feof($mobjFP)))
{
die("");
}
}
...全文
56
17
打赏
收藏
高分--求教高手:PHP与XML的问题。
以下这个循环,什么情况下会退出?什么情况下又会死循环了? while ($mstrData = fread($mobjFP, 4096)) { if (!xml_parse($mobjParser, $mstrData, feof($mobjFP))) { die(""); } }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
swall
2003-08-19
打赏
举报
回复
是否每次执行以下这句,都读到同样的东西?还是每次会往下读?
$mstrData = fread($mobjFP, 4096)
xuzuning
2003-08-19
打赏
举报
回复
文件结束或读出错误就退出
不会出现死循环
xuzuning
2003-08-19
打赏
举报
回复
文件结束或读出错误就退出
不会出现死循环
babystudio
2003-08-19
打赏
举报
回复
如果set_time_limit()在你的服务器上可用,基本上这就可以解决当机问题,不过一个缺点是访客看到的是
脚本超过最大运行时限
的服务器错误。
你可以通过register_shutdown_function()注册一个方法来处理超时情况,可以有一个比较友好的界面。
xuzuning
2003-08-19
打赏
举报
回复
@set_time_limit(5);
$fp = fopen("http://.....); // 5秒钟大不开则超时
@set_time_limit(10);
// 打开后10秒钟不能读取和解析完则超时
代码中判断是否超时可用
if(connection_timeout())
超时
swall
2003-08-19
打赏
举报
回复
分段设置?不太明白。。可否解释一下?
xuzuning
2003-08-19
打赏
举报
回复
如果5秒钟就可读取文件并解析完成,那自然是没有问题了
对远程文件要分段设置
swall
2003-08-19
打赏
举报
回复
感谢!!
那是否表示:我在文件的前边加上set_time_limit(5) ,该问题就可以彻底解决?
xuzuning
2003-08-19
打赏
举报
回复
哦,是这样啊。
这是正常现象,
1、我试着将参数换成任意的别的显然不存在的文件。看起来也只是读不到结果,并不会出现当机情况。。
这是因为文件打不开,$mobjFP无效。至多报个错
2、如果参数mobjFP的所在文件无法访问(该文件放在别的server上而该server所在城市全城停电的情况),整个网站访问非常非常慢,甚至当机。
使用文件函数打开远程文件。使用http或ftp协议。处理过程中将不断的进行尝试,直到成功或php超时
建议
1、视远程文件更新周期,考虑在本地缓存文件
2、设置php超时时间在适当的限度
swall
2003-08-19
打赏
举报
回复
我的问题就是:
页面代码似乎出了问题,正常情况下一切OK,如果参数mobjFP的所在文件无法访问(该文件放在别的server上而该server所在城市全城停电的情况),整个网站访问非常非常慢,甚至当机。
调查原因时尝试将该页改成空白页后,一切又正常了。
奇怪的是: 我试着将参数换成任意的别的显然不存在的文件。看起来也只是读不到结果,并不会出现当机情况。。
有好的建议么?
xuzuning
2003-08-19
打赏
举报
回复
不会。
另外,你并未说明你遇到了什么问题
xuzuning
2003-08-19
打赏
举报
回复
不会。
另外,你并未说明你遇到了什么问题
swall
2003-08-19
打赏
举报
回复
另外一个问题:是否存在某种情况,比如用户太多的情况,而文件又读不到时,会等待很长时间然后导致down机?
swall
2003-08-19
打赏
举报
回复
感谢上边两位的答复。。终于明白了流程。。虽然对我的问题的解决还是没作用。。
xuzuning
2003-08-19
打赏
举报
回复
是否每次执行以下这句,都读到同样的东西?还是每次会往下读?
$mstrData = fread($mobjFP, 4096)
答案是:每次会往下读
sports98
2003-08-19
打赏
举报
回复
我上面说的游标,就是C里所说的文件指针的含义
你可以参考一下手册中fseek函数的相关说明
sports98
2003-08-19
打赏
举报
回复
不会的
你这代码不会死循环的
文件内是有游标的,fread不是没次都从头读文件的...
当你的$mstrData不符合XML标准的时候程序将退出..
CSDN回帖得分大全(近两年)
C语言与
PHP
通信的
问题
(SOCKET) [VC/MFC 网络编程] √ 请问如何看懂一个vs2005程序 [VC/MFC 基础类] √
高手
解决,recv重复接受了两次数据 [VC/MFC 网络编程] √ vc++下...
webmagic采集CSDN的Java_WebDevelop页面
, 单位排班维护界面怎么开发,急 急 急, 请问
高手
,关于xstream插件的
问题
, JSP中if-else-if语句多的时候,运行就会报错!, myeclipse导入web项目出错, 求助:怎么将一个有web项目目录结构的java项目部署到tomcat中...
VC++中可能遇到的
问题
另:9X系列与NT系列是否有所不同? A VC中没有内建这样的功能,你需要调用WMI脚本。搜索Visual C++ 和WMI你就可以找到在Visual C++中如何调用WMI。 方案:更改 DNS 服务器和域 在企业发生重大变革时(例如,合并、...
网址
XML
在线编辑器EdX
XML
Document Editor Behavior Demo 在线编辑器研究 大连之星-维易网 研究(文件菜单!) 表格拆份合并处理 部署ASP.NET的三大技术(上) 需要研究! 媒体 C# ...
WEB开发文档2 总结
//blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在内存中的图象显示到客户端Microsoft IE WebControls下载地址如何...显示数据下载中文名文件时保存文件名乱码
问题
关于用ASP.net绘图的
问题
...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章