解析php file_exists无效的解决办法


Posted in PHP onJune 26, 2013

方法1 :据官方手册上描述若php教程的safe mode相关的设置过于苛刻,就会出现这样的情形:尽管文件真实存在也被误报,认为文件不存在。

由于服务器端的php.ini我们无法操纵,当用ini_set()也关闭不了safe mode模式,我们只有退而求其次,找一个更可靠、安全的检测方法来检测文件是否存在。我们可以借助 $_server['document_root'] 来加以实现。$_server['document_root'] 返回的是网站的根目录,该目录的最后一个子目录不包含目录标志符号“/”,如:
d:/www/htdocs
有了根目录,再加上需要检测的文件的路径,我们将得到一个绝对的路径,php就可以顺利使用file_exists()函数对之进行检测。上述代码我们只需要更改第一行为(注意,我们在config.php之前加上了符号“/”):
$file=$_server['document_root']."/config.php";
如此,代码的执行就很可信,不会出现预期以外的结果。
以上方法同样适用于目录(is_dir())或文件(is_file())的相关检测函数,能够检测出被安全保护的目录或文件是否存在。

最后顺便提一下:这类被php特殊设置所保护的文件在引用(include和require)时不必加上$_server['document_root']路径,因为,根据php说明文档,它们是允许引用的。

方法2:本人的情况是因为文件在windows和linux之间来回的移动。造成linux下文件和目录的访问权限被改变,导致出文件除拥有者外其他均无访问权限。使用chmod -r 755 xxx/* 解决了问题。

PHP 相关文章推荐
PHP与C#分别格式化文件大小的代码
May 14 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
php实现根据字符串生成对应数组的方法
Sep 22 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
thinkphp分页集成实例
Jul 24 PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 PHP
使用HMAC-SHA1签名方法详解
Jun 26 #PHP
php读取文件内容的几种方法详解
Jun 26 #PHP
深入file_get_contents与curl函数的详解
Jun 25 #PHP
解析如何去掉CodeIgniter URL中的index.php
Jun 25 #PHP
解析php入库和出库
Jun 25 #PHP
解析php下载远程图片函数 可伪造来路
Jun 25 #PHP
解析php通过cookies获取远程网页的指定代码
Jun 25 #PHP
You might like
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
Python psutil模块简单使用实例
2015/04/28 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Python tkinter label 更新方法
2018/10/11 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
AOP的定义以及作用
2013/09/08 面试题
本科毕业生的求职信范文
2013/11/20 职场文书
出租车拒载检讨书
2015/01/28 职场文书
千手观音观后感
2015/06/03 职场文书
幼儿园家长反馈意见
2015/06/03 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
Python基础之数据类型知识汇总
2021/05/18 Python