日期:2014-05-16  浏览次数:20508 次

die 提示的消息都去哪了?

小弟新手:


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


想问下,如果打开失败,那么die 的这条消息输出到哪了啊?貌似打开失败界面也没有直接弹出这条消息?请问使用die这条消息自动会从服务器发到终端,然后在界面中弹出?
------解决方案--------------------
直接输出到浏览器
------解决方案--------------------
直接运行下面的code看看能不能输出123,如果可以,你就是fopen那个是正常的。

<?php
die('123');
?>

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


<?php
$fp=fopen('','r') or die('123'); // 没有文件名,不可能打开,回转到die执行
?>

------解决方案--------------------

先不用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前加@来抑制错误信息,以免在打开错误信息的环境中出现不想见到的错误信息。