解析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 相关文章推荐
通过html表格发电子邮件
Oct 09 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
ionCube 一款类似zend的PHP加密/解密工具
Jul 25 PHP
php 参数过滤、数据过滤详解
Oct 26 PHP
PHP简单获取多个checkbox值的方法
Jun 13 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
基于Laravel 5.2 regex验证的正确写法
Sep 29 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
如何用PHP实现多线程编程
May 26 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
php-app开发接口加密详解
2018/04/18 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python计算已经过去多少个周末的方法
2015/07/25 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
使用Python设计一个代码统计工具
2018/04/04 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
python DataFrame 取差集实例
2019/01/30 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
python中关于数据类型的学习笔记
2020/07/19 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL