下面是一个简单的检查文件是否存在的实例代码: <div class="codetitle"><a style="CURSOR: pointer" data="94456" class="copybut" id="copybut94456" onclick="doCopy('code94456')"> 代码如下:<div class="codebody" id="code94456"> <?php $filename = '/path/to/foo.txt'; if (file_exists($filename)) { echo "The file $filename exists"; } else { echo "The file $filename does not exist"; } ?> 如果文件存在,执行该 PHP 文件的显示结果是: The file C:blablaphphello.txt exists. 如果文件不存在,执行该 PHP 文件的显示结果是: The file C:blablaphphello.txt does not exist. 你也可以用file_exists 函数测试某个目录是否存在,示例代码如下: <div class="codetitle"><a style="CURSOR: pointer" data="86170" class="copybut" id="copybut86170" onclick="doCopy('code86170')"> 代码如下:<div class="codebody" id="code86170"> if (file_exists("C:blablaphp")) {echo "yes";} else {echo "no";} 实例 <div class="codetitle"><a style="CURSOR: pointer" data="64143" class="copybut" id="copybut64143" onclick="doCopy('code64143')"> 代码如下:<div class="codebody" id="code64143"> / 文件或目录权限检查函数 @access public @param string $file_path 文件路径 @param bool $rename_prv 是否在检查修改权限时检查执行rename()函数的权限 @return int 返回值的取值范围为{0 <= x <= 15},每个值表示的含义可由四位二进制数组合推出。 返回值在二进制计数法中,四位由高到低分别代表 可执行rename()函数权限、可对文件追加内容权限、可写入文件权限、可读取文件权限。 / function file_mode_info($file_path) { / 如果不存在,则不可读、不可写、不可改 / if (!file_exists($file_path)) { return false; } $mark = 0; if (strtoupper(substr(PHP_OS,3)) == 'WIN') { / 测试文件 / $test_file = $file_path . '/cf_test.txt'; / 如果是目录 / if (is_dir($file_path)) { / 检查目录是否可读 / $dir = @opendir($file_path); if ($dir === false) { return $mark; //如果目录打开失败,直接返回目录不可修改、不可写、不可读 } if (@readdir($dir) !== false) { $mark ^= 1; //目录可读 001,目录不可读 000 } @closedir($dir); / 检查目录是否可写 / $fp = @fopen($test_file,'wb'); if ($fp === false) { return $mark; //如果目录中的文件创建失败,返回不可写。 } if (@fwrite($fp,'directory access testing.') !== false) { $mark ^= 2; //目录可写可读011,目录可写不可读 010 } @fclose($fp); @unlink($test_file); / 检查目录是否可修改 / $fp = @fopen($test_file,'ab+'); if ($fp === false) { return $mark; } if (@fwrite($fp,"modify test.rn") !== false) { $mark ^= 4; } @fclose($fp); / 检查目录下是否有执行rename()函数的权限 / if (@rename($test_file,$test_file) !== false) { $mark ^= 8; } @unlink($test_file); } / 如果是文件 / elseif (is_file($file_path)) { / 以读方式打开 / $fp = @fopen($file_path,'rb'); if ($fp) { $mark ^= 1; //可读 001 } @fclose($fp); / 试着修改文件 / $fp = @fopen($file_path,'ab+'); if ($fp && @fwrite($fp,'') !== false) { $mark ^= 6; //可修改可写可读 111,不可修改可写可读011... } @fclose($fp); / 检查目录下是否有执行rename()函数的权限 / if (@rename($test_file,$test_file) !== false) { $mark ^= 8; } } } else { if (@is_readable($file_path)) { $mark ^= 1; } if (@is_writable($file_path)) { $mark ^= 14; } } return $mark; } PHP判断目录是否存在 <div class="codetitle"><a style="CURSOR: pointer" data="3664" class="copybut" id="copybut3664" onclick="doCopy('code3664')"> 代码如下:<div class="codebody" id="code3664"> /** 将xml数据流,写入到xml文件 @param $xmlData @return bool|string / function writeXmlFile($xmlData) { $time = time(); //获取时间戳,用于给文件命名 $path = dirname(FILE); //获取当前绝对路径 $path = substr_replace($path,"",stripos($path,"actionsdata")); //将此文件所在的固有路径替换成空 $path .= "xmlFiles"; //存放目录名 /判断目标目录是否存在,不存在则新建/ if(!is_dir($path)) { mkdir($path); //新建目录 } /记录完整路径和文件名/ $filePathAndName = $path.$time.".xml"; /打开文件,文件名为<时间戳> + <.xml>/ $fp = fopen($filePathAndName,"w"); if(!$fp) { return false; } /写入文件流/ $flag = fwrite($fp,$xmlData); if(!$flag) { return false; } fclose($fp); return $filePathAndName; }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|