解析php file

方法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/* 解决了问题。

时间: 2024-10-26 06:01:37

解析php file的相关文章

由App的启动说起

The two most important days in your life are the day you are born and the day you find out why.-- Mark Twain "你是谁?从哪里来?到哪里去?",这三个富有哲学气息的问题,是每一个人在不断解答的问题.我们Code,Build,Run,一个活生生的App跃然方寸屏上,这一切是如何发生的?从用户点击App到执行main函数这短短的瞬间发生了多少事呢?探寻App的启动新生,可以帮助我们更

asp的标签引擎类tagEngine.Class

修改记录: 1,增加扩展函数,2006-12-3 <% '****************************** '类名:tagEngine '名称:标签引擎 '日期:2006-11-29 '作者:西楼冷月 '网址:www.xilou.net | www.chinaCMS.org '描述:只有提取标签功能,没有解析标签功能 '版权:转载请注名出处,作者 '****************************** '最后修改:2006-12-3 '修改次数:3 '修改说明:修改正则,使匹

PHP7 使用资源包裹第三方扩展的实现及其源码解读

在阅读下面的内容之前,我们假定你已经对 PHP 7 基本的数据结构 都有大致的了解了,这是下面内容阅读的前提. 我们分为两大块: 首先实现一个自定义的文件打开.读取.写入.关闭的文件操作扩展: 然后分析各个操作背后的实现原理,其中某些部分的实现我会和 PHP 5.3 使用资源包裹第三方扩展源码解读 对比分析. 通过原型生成扩展骨架 首先进入到源码目录的ext目录中,添加一个文件操作的原型文件 [root@localhost php-src-php-7.0.3]# cd ext/ [root@lo

在img中以双斜杠//开头的URL是有何作用?

不知道大家有没有见过下面这种 url 写法: <IMG src="file://xxx.net/img/logo.png"> img 中的url是以双斜杠"//"开头的,这种写法有特殊的用途,它会判断当前的页面协议是http 还是 https 来决定请求 url 的协议.防止IE下出现"This Page Contains Both Secure and Non-Secure Items"的报错. 但是当你浏览本地文件的时候,它会解析

java获取字符串编码函数

encoding.java package org.loon.test.encoding; /** *//**  * <p>  * title: loonframework  * </p>  * <p>  * description:编码基本类型集合  * </p>  * <p>  * copyright: copyright (c) 2008  * </p>  * <p>  * company: loonframewor

nc.exe高级技巧应用汇总_安全教程

nc.exe高级技巧应用汇总 文章作者:zhoutree  0. 写在前面的话 1. Netcat 1.10 for NT - nc11nt.zip,原始英文信息 2. Netcat 1.10 for NT 帮助信息 3. Netcat 1.10 常用的命令格式 4. 管理肉鸡,更改肉鸡设置 5. 下载连接 6. 后记 ###################################################################### 0. 写在前面的话 ########

vs2012解析不出using,只解析出System.IO.File这种形式,有什么解决方法没?

问题描述 vs2012解析不出using,只解析出System.IO.File这种形式,有什么解决方法没? vs2012解析不出using,只解析出System.IO.File这种形式,有什么解决方法没? 解决方案 检查下程序集有没有引用,程序集有没有冲突. 什么类型解析不了. 忽略IDE的提示,编译本身有没有问题? 解决方案二: 可以在代码段最前面加using System; 解决方案三: 例如这个,我添加引用之后就变成了 而不是using的形式

file not found. nginx php nginx 如何开启解析 PHP 的功能

file not found. nginx php 这个问题是你配置文件的问题: 查看就是了不要管 nginx 如何开启解析 PHP 的功能? # 成功安装后,创建 php-fpm.conf 配置文件,删除 nginx.conf 中"pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000"部分的注释 cd /usr/local/php/etc mv php-fpm.conf.default php-fpm.c

【POI】解析xls报错:java.util.zip.ZipException: error in opening zip file

今天使用POI解析XLS,报错如下: Servlet.service() for servlet [rest] in context with path [/cetBrand] threw exception [Request processing failed; nested exception is org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: 'd: