一: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无效解决办法相关推荐

  1. VS.NET提示试图运行项目时出错:无法启动调试。绑定句柄无效解决办法

    也许是我迟发现了,总之我是刚刚才遇到这个问题的,挺不爽的,从模板新建的项目,未添加一行代码却出现了调试错误.(不用调试倒没事)有点郁闷. 还好,(感谢一下发明搜索引擎的人)百度给了我解决方案,不好意思 ...

  2. C# 在load构造函数设定dgv背景字体颜色无效 解决办法

    在load构造函数设定dgv背景字体颜色无效解决办法 在load函数写没有没有作用是因为load函数会在调用一次dgv初始化, 解决办法是把设置的代码写到shown函数中: shown函数在load函 ...

  3. Windows11任务栏卡死鼠标右键无效解决办法

    Windows11任务栏卡死鼠标右键无效解决办法 按Ctrl+Alt+Delete,打开任务管理器 菜单栏文件-运行新任务 输入appwiz.cpl,打开程序和功能 点击左侧查看已安装的更新 把安装时 ...

  4. @GetMapping无效解决办法

    @GetMapping无效解决办法 在SSM框架中,可以使用注解来减轻开发的工作量,掌握每个注解的作用以及底层实现机制便于分析问题.最近遇到@GetMapping无效的情形,下面就解决方法进行总结. ...

  5. Vscode调试设置中的python路径无效解决办法

    Vscode调试设置中的python路径无效解决办法 如果你已经试过修改"default interpreter Path"但无效可以继续往下看 如果你已经试过修改"de ...

  6. 【Oracle相关】坑!使用oracle时,发生标识符无效解决办法

    –真是个大坑 使用oracle时,发生标识符无效解决办法 一般出现该错误的原因: 1.列名写错导致 2.使用了关键字作为了列名 但是这次遇到的情况有点奇葩 通过dblink直接查询该表,并没有报出问题 ...

  7. 使用oracle发生标识符无效解决办法

    使用oracle时,发生标识符无效解决办法 1.一直以来写SQL语句发生标识符无效一般多为列名写错导致 2.也有许多情况是使用了关键字作为了列名 但是今天发生了一个意外的情况,在oracle数据库建了 ...

  8. Kali Linux”下列签名无效“解决办法

    今天用Kali Linux在更新软件的时候,提示了一个错误: 下列签名无效:EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kal ...

  9. chrome浏览器font-size12px无效解决办法

    当样式设定font-size<12px时,chrome浏览器里字体显示仍为12px: 如font-size:11px; 但是chrome还是12px的大小,很不听话. 今天我就遇到了这样的问题? ...

最新文章

  1. 第一次上传代码到gitee
  2. SAP MM 进销存报表优化小记
  3. 最好的oracle笔记,Oracle学习笔记(一)
  4. 大四上学期的分数和分析感悟
  5. Attribute ‘sklearn.linear_model._logistic.LogisticRegression.multi_class‘ must be explicitly set to
  6. python socket编程实现的简单tcp迭代server
  7. CoordinatorLayout 使用综述系列(一)
  8. Java SQL注入学习笔记
  9. ARP 协议 理解
  10. 客户端连接openfire报错解决
  11. ng执行css3动画
  12. 网络攻防实验(连更)
  13. windows上编译,使用libtorrent
  14. 最优二叉查找树,动态规划法,二维表,填表优化,代码
  15. 计算机磁盘管理打不开,教你怎样轻松解决磁盘打不开的问题
  16. 如何将视频网站的视频下载为mp4格式
  17. 阿里淘系优质开源项目推荐(下)
  18. 嘎嘎好用的Vue虚拟键盘simple-keyboard
  19. 基于工业路由器的智慧医疗远程监控系统
  20. org.hibernate.PropertyAccessException: Exception occurred inside setter of 错误解释

热门文章

  1. C语言 pthread_join
  2. Python SHA1算法
  3. 1.12 改善你的模型的表现
  4. neo4j 增 create
  5. git status
  6. 安全员b本计算机考试,2019年安全员B证考试题库试题资料一.doc
  7. python进程池和线程池_Python中的进程池与线程池(包含代码)
  8. PHP自动压缩CSS文件方法,php 压缩多个CSS文件的实现代码
  9. 神州数码携手IBM与红帽共商“新基建”机遇与挑战
  10. Java设计模式学习总结(3)——创建型模式之抽象工厂模式