解析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中ADODB类详解
Mar 25 PHP
php利用header函数实现文件下载时直接提示保存
Nov 12 PHP
PHP备份/还原MySQL数据库的代码
Jan 06 PHP
php中session退出登陆问题
Feb 27 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
php基于curl实现的股票信息查询类实例
Nov 11 PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
thinkPHP框架中layer.js的封装与使用方法示例
Jan 18 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 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
解析MySql与Java的时间类型
2013/06/22 PHP
php写的AES加密解密类分享
2014/06/20 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
js显示时间 js显示最后修改时间
2013/01/02 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
vue实现文件上传功能
2018/08/13 Javascript
使用JavaScript破解web
2018/09/28 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
python中通过预先编译正则表达式提高效率
2017/09/25 Python
python 调用c语言函数的方法
2017/09/29 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
小班下学期评语
2014/05/04 职场文书
会计专业自荐信
2014/06/03 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
干部作风建设个人剖析材料
2014/10/11 职场文书
卡特教练观后感
2015/06/08 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python