当前位置:Gxlcms > PHP教程 > die提示的消息都去哪了?

die提示的消息都去哪了?

时间:2021-07-01 10:21:17 帮助过:4人阅读

小弟新手:


$fp=fopen("./readme.txt","r") or die("不能打开该文件");


想问下,如果打开失败,那么die 的这条消息输出到哪了啊?貌似打开失败界面也没有直接弹出这条消息?请问使用die这条消息自动会从服务器发到终端,然后在界面中弹出?


回复讨论(解决方案)

直接输出到浏览器

直接输出到浏览器




但是我打开失败,浏览器也没输出这条消息啊,难道被其它遮盖了?

那你都看到了什么?

那你都看到了什么?




页面没有反应

$fp = fopen("./readme.txt","r") or die("不能打开该文件");
如果是 页面没有反应
那么可能有两种情况:
1、readme.txt 文件存在,并可以被打开。自然也就不会用显示了
2、readme.txt 不存在,php 的错误显示功能也没有打开
这下就悲催了,fopen 失败时的错误信息:Warning: fopen(./readme.txt): failed to open stream: No such file or directory in .....
无处可去,活生生的把 php 给憋死了


echo "……";exit();

die的消息会直接输出到浏览器。
这个是PHP的基础问题好吧

直接运行下面的code看看能不能输出123,如果可以,你就是fopen那个是正常的。


die等于 echo xxx 然后 停止页面。

直接输出到浏览器




$fp = fopen("./readme.txt","r") or die("不能打开该文件");
如果是 页面没有反应
那么可能有两种情况:
1、readme.txt 文件存在,并可以被打开。自然也就不会用显示了
2、readme.txt 不存在,php 的错误显示功能也没有打开
这下就悲催了,fopen 失败时的错误信息:Warning: fopen(./readme.txt): failed to open stream: No such file or directory in .....
无处可去,活生生的把 php 给憋死了




有没可能是服务器返回的die的消息被前端ajax 接受去了,我还要在ajax中处理,才能在前端显示消息??

直接运行下面的code看看能不能输出123,如果可以,你就是fopen那个是正常的。


die等于 echo xxx 然后 停止页面。



有没可能是服务器返回的die的消息被前端ajax 接受去了,我还要在ajax中处理,才能在前端显示消息??

ajax?
先看看你的ajax是怎么写的


先不用ajax,直接用php看看能否?出。如果可以,那??就可以定位在js部分了。

$fp = fopen("./readme.txt","r") or die("不能打开该文件");
如果是 页面没有反应
那么可能有两种情况:
1、readme.txt 文件存在,并可以被打开。自然也就不会用显示了
2、readme.txt 不存在,php 的错误显示功能也没有打开
这下就悲催了,fopen 失败时的错误信息:Warning: fopen(./readme.txt): failed to open stream: No such file or directory in .....
无处可去,活生生的把 php 给憋死了


错误显示功能没有打开不影响这个显示,反而打开了错误显示,会先显示PHP的出错信息,然后才是这个die出来的不能打开文件的提示。
一般像这种写法要在fopen前加@来抑制错误信息,以免在打开错误信息的环境中出现不想见到的错误信息。

先不用ajax,直接用php看看能否?出。如果可以,那??就可以定位在js部分了。



ajax?
先看看你的ajax是怎么写的


用了jquery的ajax,确实需要是被ajax中的error中接受了,问题已经解决

人气教程排行