php file_exists无效解决办法
一:is_file 和 file_exists 的区别:
当文件存在时:is_file 比 file_exists快了N倍
当文件不存在时:is_file 比 file_exists慢
总之一句话:file_exists不会因为文件的存在与否而改变效率
方法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/* 解决了问题。
转载于:https://www.cnblogs.com/caicaizi/p/4997680.html
php file_exists无效解决办法相关推荐
- VS.NET提示试图运行项目时出错:无法启动调试。绑定句柄无效解决办法
也许是我迟发现了,总之我是刚刚才遇到这个问题的,挺不爽的,从模板新建的项目,未添加一行代码却出现了调试错误.(不用调试倒没事)有点郁闷. 还好,(感谢一下发明搜索引擎的人)百度给了我解决方案,不好意思 ...
- C# 在load构造函数设定dgv背景字体颜色无效 解决办法
在load构造函数设定dgv背景字体颜色无效解决办法 在load函数写没有没有作用是因为load函数会在调用一次dgv初始化, 解决办法是把设置的代码写到shown函数中: shown函数在load函 ...
- Windows11任务栏卡死鼠标右键无效解决办法
Windows11任务栏卡死鼠标右键无效解决办法 按Ctrl+Alt+Delete,打开任务管理器 菜单栏文件-运行新任务 输入appwiz.cpl,打开程序和功能 点击左侧查看已安装的更新 把安装时 ...
- @GetMapping无效解决办法
@GetMapping无效解决办法 在SSM框架中,可以使用注解来减轻开发的工作量,掌握每个注解的作用以及底层实现机制便于分析问题.最近遇到@GetMapping无效的情形,下面就解决方法进行总结. ...
- Vscode调试设置中的python路径无效解决办法
Vscode调试设置中的python路径无效解决办法 如果你已经试过修改"default interpreter Path"但无效可以继续往下看 如果你已经试过修改"de ...
- 【Oracle相关】坑!使用oracle时,发生标识符无效解决办法
–真是个大坑 使用oracle时,发生标识符无效解决办法 一般出现该错误的原因: 1.列名写错导致 2.使用了关键字作为了列名 但是这次遇到的情况有点奇葩 通过dblink直接查询该表,并没有报出问题 ...
- 使用oracle发生标识符无效解决办法
使用oracle时,发生标识符无效解决办法 1.一直以来写SQL语句发生标识符无效一般多为列名写错导致 2.也有许多情况是使用了关键字作为了列名 但是今天发生了一个意外的情况,在oracle数据库建了 ...
- Kali Linux”下列签名无效“解决办法
今天用Kali Linux在更新软件的时候,提示了一个错误: 下列签名无效:EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kal ...
- chrome浏览器font-size12px无效解决办法
当样式设定font-size<12px时,chrome浏览器里字体显示仍为12px: 如font-size:11px; 但是chrome还是12px的大小,很不听话. 今天我就遇到了这样的问题? ...
最新文章
- 第一次上传代码到gitee
- SAP MM 进销存报表优化小记
- 最好的oracle笔记,Oracle学习笔记(一)
- 大四上学期的分数和分析感悟
- Attribute ‘sklearn.linear_model._logistic.LogisticRegression.multi_class‘ must be explicitly set to
- python socket编程实现的简单tcp迭代server
- CoordinatorLayout 使用综述系列(一)
- Java SQL注入学习笔记
- ARP 协议 理解
- 客户端连接openfire报错解决
- ng执行css3动画
- 网络攻防实验(连更)
- windows上编译,使用libtorrent
- 最优二叉查找树,动态规划法,二维表,填表优化,代码
- 计算机磁盘管理打不开,教你怎样轻松解决磁盘打不开的问题
- 如何将视频网站的视频下载为mp4格式
- 阿里淘系优质开源项目推荐(下)
- 嘎嘎好用的Vue虚拟键盘simple-keyboard
- 基于工业路由器的智慧医疗远程监控系统
- org.hibernate.PropertyAccessException: Exception occurred inside setter of 错误解释
热门文章
- C语言 pthread_join
- Python SHA1算法
- 1.12 改善你的模型的表现
- neo4j 增 create
- git status
- 安全员b本计算机考试,2019年安全员B证考试题库试题资料一.doc
- python进程池和线程池_Python中的进程池与线程池(包含代码)
- PHP自动压缩CSS文件方法,php 压缩多个CSS文件的实现代码
- 神州数码携手IBM与红帽共商“新基建”机遇与挑战
- Java设计模式学习总结(3)——创建型模式之抽象工厂模式