2 u013446836 u013446836 于 2014.11.26 00:00 提问

require_once请求的文件不存在的话,之后的代码都无法执行吗?

如果是的话,具体是怎样处理的呢,谢谢。

/**************凑个字数***********/

7个回答

save4me
save4me   Ds   Rxr 2014.11.26 09:09
已采纳

参考PHP基本知识点

include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。
require_once()和require()对错误的处理一样出错的时候,就停止即行,并报错。

xuzuning
xuzuning   Ds   Rxr 2014.11.26 09:04

是的,当请求的文件不存在时
require 和 require_once 将产生致命错误并终止程序
而 include 和 include_once 只产生警告,并不终止程序

cwqcwk1
cwqcwk1   2014.11.26 09:25

换成 include 或 include_once

Novolee
Novolee   Rxr 2014.11.27 19:56

如果不确认文件存在不存在,正确的做法是包含之前先判断文件是否存在。

Novolee
Novolee   Rxr 2014.11.27 19:56

如果不确认文件存在不存在,正确的做法是包含之前先判断文件是否存在。

asasaas121
asasaas121   2014.12.09 17:38

是的,可以用inclue和include_once()代替,函数里面为添加文件的路径
ps:一般写相对路径

fdipzone
fdipzone   Rxr 2014.12.18 16:43

require, require_once,
當文件不存在會產生致命錯誤並終止程序,當然就不能執行後面的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
php require_once()引入文件后,后面的代码无法执行
if(!defined('CORE_ROOT')) exit; require_once CORE_ROOT.'include/mailconfig.inc.php';  //此处引入后 class smtp {     var $host;     var $user;     var $pass;     var $port;     var $sock;     var $f
PHP中的require_once()函数引入的文件找不到
今天用php写一个简单的Android登录的服务端代码,遇到一个特别郁闷的事,使用require_once()引入到php文件中的文件出现错误提示,找不到文件。
springmvc的ModelAttribute注解,在controller每个方法执行前被执行
先看一个没有使用@ModelAttribute的Controller方法. [java] view plain copy   @RequestMapping("/save")   public String save(User user) {       user.setUsername("U love me");       userSer
关于include_once,require_once包含文件失败的解决方法
今天遇到包含文件 访问项目直接就500了,一脸懵比,本地跑的都是没有问题的说; 我的解决思路是做exit一步一步尝试到底哪个文件出错了,说一下我的目录结构:ABC三个同级目录,C为我的工作目录,C文件会根据需求载入AB的一些文件,AB也会包含C里面的一些文件,当然AB之间也有一些包含关系;在C文件夹的入口文件就挂掉了,发现是包含了A文件夹下的某个文件挂掉了,刚开始以为是A文件夹下的文件出问题了,
IIS PHP file_exists失败,require_once也全部失败
路径没有任何问题。   错误原因:网站虚拟路径放在了根目录下,这不行的 比如  D:\WebRoot\  这样无论如何给这个文件夹权限,都会出问题 首先把网站所有内容转移到一个子文件夹比如 D:\WebRoot\www\,然后给 D:\WebRoot\ 设置 IUSR_MACINE 权限,就全正常了
文件明明存在,却require_once(./*.php)出错
问题描述: 刚装好PMA,在火狐中访问,会看到白板,什么都没输出。使用IE可以看到500错误(服务器内部错误) 打开报错后发现 Warning: require_once(./libraries/common.inc.php) [function.require-once]: failed to open stream: No such file or directory i
解决require_once后顶部输出空白行问题
转自http://window1972.blog.163.com/blog/static/92024602011322112333960/在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-
设置包含路径 及require_once需要注意问题
设置需要包含的常用文件:(在项目根目录下) include.php <?php header("content-type:text/html;charset=utf-8"); date_default_timezone_get("PRC"); session_start(); //_FILE_返回是当前代码所在文件(而不是url所在文件)完整(绝对)路径
过滤链FilterChain,请求与响应--chain.doFilter()代码前后
两个过滤器,EncodingFilter负责设置编码,SecurityFilter负责控制权限,服务器会按照web.xml中过滤器定义的先后循序组装成一条链,然后一次执行其中的doFilter()方法。执行的顺序就如下图所示,执行第一个过滤器的chain.doFilter()之前的代码,第二个过滤器的chain.doFilter()之前的代码,请求的资源,第二个过滤器的chain.doFilter
php5.3终于支持require_once("/classes/class.php");了
require_once("/classes/class.php"); 这一句,在5.2下提示文件不存在,在5.3下提示正常。 这样写清新多了。 也可能和PHP版本没关系,和web服务器有关系,不细究了。 总之,以前是出错的。现在是正确的。