- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
当您想要包含 PHP 文件时应该使用哪个?
if(file_exists($file) require "$file";
或
if(is_readable($file) require "$file";
?
最佳答案
file_exists()
oris_readable()
Which one should you use when you want to include a PHP file?
这取决于您是否想知道仅一个文件或一个目录是否存在,或者两者是否都可以,以及您是否需要检查是否可读.
有时你只关心文件和/或目录是否存在,不需要读取,有时你也需要读取。
检查文件或目录是否存在。
如果您明确只想知道文件 是否存在,这将返回误报,如果它是目录,则返回真。
判断文件或目录是否存在且可读。
如果您明确只想知道文件 是否可读,这可能会返回误报,如果它是一个目录则可能返回真。
您没有提到但可能需要的其他选项:
判断它是否存在并且是一个普通的文件(不是目录)。
判断它是否存在并且是一个目录(不是文件)。
如果你想检查是否存在并且:
is_file()
is_dir()
file_exists()
如果你想检查是否存在并且可读:
is_file()
和 is_readable()
is_dir()
和 is_readable()
is_readable()
您不需要同时使用 file_exists()
和 is_readable()
因为 is_readable()
还会检查 file_exists ()
.
将 is_readable()
与 is_file()
或 is_dir()
配对只是为了检查是否可读特别是仅一个文件或特别是 仅在一个目录中。
与大多数 PHP 和“什么是最好的方法/函数/等等”一样 - 这取决于场景。
仅仅依靠 require
来管理系统是否挂起并不是很有用。想象一下所需的文件不可用,因此 PHP 因 require 失败而停止,但该文件只是一篇文章图片或用户头像——你真的不想仅仅因为网站导航、 Logo 、链接、各种页面文本和内容而提供服务吗?缺少文章图片?
重要的:
如果文件是一个数据库连接类,它允许提供整个页面内容,那么文件不存在可能需要系统暂停。
当然,您应该有某种退出策略,例如提供 404 页面或错误消息 - “抱歉,出现错误,我们会调查”等。
非生命体征:
文件不存在有时是有效的,或者至少不会对应用程序的其余部分造成损害。
例如,如果图像文件不存在,您可以提供一条消息或默认图像,例如如果找不到用户头像,则用户头像将只有一个默认头像。
关于php - file_exists() 或 is_readable(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6604726/
如何使用 PHP 移动文件? 代码: if( file_exists($imageLocation) ) echo "file exists on server"; rename($imageLo
我遇到了这个奇怪的问题:$myImg 变量已从一些本地 html 中提取并指向我想检查的文件。字符串变量 file_exists 给出 false,但如果手动插入 content os 变量,它给出
我正在尝试使用正则表达式模式来搜索文件。 目录路径是: $css_dir = MY_PLUGIN_DIR.'/source/css/'; CSS 文件名开头为: $css_prefix = 'hap_
我已经在 NetBeans 中建立了一个带有单元测试文件的项目。我将 Bootstrap 设置为 C:\www\foo\_tests\TestAutoload.php 并将简单的自动加载方法放入此文件
当我习惯于跟随 PHP 代码时; "; } else { echo ""; ?> 我的浏览器总是显示kaars1.png而不是 Maurice.jpg我也试过 !file_exists 但当 Maur
我正在尝试将个人资料照片显示在我正在处理的网站上的评论列表中。如果他们没有个人资料照片,我有一个标准图像来显示,不幸的是,即使它存在,图像也总是转到标准图像而不是个人资料。代码如下: $reviewe
if(file_exists("./squadra/photos/photog.jpg")) { echo "### YES ###"; } else { echo "### NO #
我有一个我想执行的 php 脚本,前提是该脚本的其他实例尚未运行。我有这段代码: $lockfile = __DIR__.'/lock.file'; if(file_exists($lockfile)
file_exists 不工作。我看过几个例子,但还是不行。程序未检测到该文件。我的文件路径是/var/www/osbs/PHPAPI/recording.mp3,网站根目录在osbs里面。这个文件的
file_exists 不工作.. 也尝试过 realpath.. 同样的问题 首先检查文件是否存在.. file_exists 返回 false 但文件仍然被加载 chdir(__DIR__.'/.
有没有办法编写 PHP file_exists 函数,以便它在目录中搜索具有任意扩展名的文件。例如,假设我知道一个名为“hello”的文件,但不知道扩展名,我该如何编写一个函数来搜索名为 hello.
有没有办法编写 PHP file_exists 函数,以便它在目录中搜索具有任意扩展名的文件。例如,假设我知道一个名为“hello”的文件,但不知道扩展名,我该如何编写一个函数来搜索名为 hello.
这样做: php -r 'unlink("path"); clearstatcache(); echo file_exists("path");' 其中 path 是我的 linux 机器上文件的完整
根据 file_exists() 的 php 文档 The results of this function are cached. See clearstatcache() for more det
在我的脚本中,我设置了包含路径(因此应用程序的另一部分也可以包含文件),检查文件是否存在并包含它。 但是,在我设置包含路径后,file_exists()报告该文件不存在,但我仍然可以包含相同的文件。
我正在使用这段代码: $DataSourceName = "..\Log4OM\Log4OM-Active.SQLite"; if(!file_exists($DataSourceName)) {
TL; DR 执行file_exists或检查@include的返回值是否更快(即抑制错误)? 在这种情况下,您可能会假设我使用的是绝对路径,而不是依赖于include_path解析。 精心制作的版本
需要有关 codeigniter 的帮助,我认为 file_exists 用于服务器路径,而不是 url。但我的图像文件夹与应用程序和系统文件夹处于同一级别。谷歌找不到任何内容,请帮忙 $url=ba
我们正在尝试使用此功能,但没有找到合适的解决方案。如何在 Smarty 中检查 file_exists 中的图像。 喜欢 [{$oSelection->getName()}] = name of im
当我在像 /a/path/to/a/../file.php 这样的路径上使用 file_get_contents 时,它会很好地获取内容。如果我先调用 file_exists(或 is_file 或
我是一名优秀的程序员,十分优秀!