file exsits php,php file_exists检查文件或目录是否存在

本文介绍了PHP中的file_exists函数,用于检查文件或目录是否存在。在Windows环境下,需要使用特定格式来检查网络共享文件。当file_exists在某些情况下报告错误时,可能是因为安全模式设置过于严格。解决方案包括利用$_SERVER['document_root']获取绝对路径进行检测,或者检查文件权限。文章还提及了因文件在不同操作系统间移动导致的权限问题,并提供了修复方法。
摘要由CSDN通过智能技术生成

php file_exists函数介绍

file_exists — 检查文件或目录是否存在

语法:

bool file_exists ( string $filename )

检查文件或目录是否存在。

参数:

filename 文件或目录的路径。 在 Windows 中要用 //computername/share/filename 或者 \\computername\share\filename 来检查网络中的共享文件。

file_exists函数实例

php使用file_exists函数检查文件test1.txt是否存在。

$myfile = "./test1.txt";

/* http://www.manongjc.com/article/1352.html */

if (file_exists($myfile)) {

$result=unlink ($myfile);

echo $result;

}

?>

php file_exists无效的解决办法

据官方手册上描述若php教程的safe mode相关的设置过于苛刻,就会出现这样的情形:尽管文件真实存在也被误报,认为文件不存在。

方法1 :

由于服务器端的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/* 解决了问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值