目录操作
$base_dir = 'filelist/'; $fso = opendir($base_dir);//打开目录,返回目录句柄 echo 'Basedir:'.$base_dir.'<hr>'; while($filelist = readdir($fso)) { echo $filelist.'<br>'; } closedir($fs);//关闭目录句柄
创建命令:
mkdir($path,0777):0777是权限码,在非Windows下可用umask()来设置
rmdir($path):删除路径$path下的文件
新建文件
首先,要确定所创建文件所在目录的权限,建议设置为777,新建文件的名称建议使用绝对路径。
$filename = 'test.txt'; $fp = fopen($filename, 'w+');//打开文件指针,创建文件 if(!is_writable($filename)) { die('文件:'.$filename.'不可写,请检查!'); } fclose($fp);//关闭指针
首先判断文件能否读取(权限问题),然后判断文件是否存在
$filename = 'test.txt'; if(is_readable($filename) == false) { die('文件不存在或无法读取'); } if(file_exists($filename) == false) { die('文件不存在'); } $content = file_get_contents($filename); echo htmlentities($data);
$filename = 'test.txt'; if(is_writeable($filename) == false) { die('不能写入'); } $content = 'Hello World'; file_put_contents($filename, $content);
$filename = 'test.txt'; $data = 'Hello World'; $handle = fopen($filename, 'w'); fwrite($handle, $data); fclose($handle);
function cache_page($pageurl, $pagedata) { if(!$fso = fopen($pageurl, 'w')) { $this->warns('无法打开缓存文件'); return false; } //LOCK_NB,排他型锁定 if(!flock($fsom, LOCK_EX)) { $this->warns('无法锁定缓存文件'); return false; } //写入字节流,serizlize写入其他格式 if(!fwrite($fso, $pagedata)) { $this->warns('无法写入缓存文件'); return false; } //释放锁定 flock($fso, LOCK_UN); fclose($fso); return true; }
删除文件
$file = 'test.txt'; $result = @unlink($file);
$file = 'test.txt'; $newfile = 'new.txt';//这个文件父文件夹必须可写 if(file_exists($file) == false) { die('文件不存在'); } $result = copy($file, $newfile); if($result == false) { echo 'Done'; }
$file = 'test.txt'; //获取最近修改时间 echo date('r', filemtime($file)); //获取上次被访问时间 echo date('r', fileatime($file)); //返回文件所有者 echo posix_getpwuid(fileowner($file)); //获取文件权限,非Win echo substr(sprintf('$o', fileperms($file), -4)); //返回文件大小 echo filesize($file).'bytes'; //返回文件的全部信息 var_dump(stat($file));
以上就介绍了PHP文件和目录操作,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。