die 提示的消息都去哪了?
$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中接受了,问题已经解决