欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

die 提示的消息都去哪了?

程序员文章站 2024-02-11 11:53:34
...
小弟新手:


$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中接受了,问题已经解决