php的文件操作以及目录浏览

1.目录的操作

首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出

<?php

$base_dir=”filelist/” ;    //定义需要操作的文件

$fso=opendir($base_dir) ;  //使用opendir打开对应路径,并返回对应的资源类型

Echo $base_dir.”<br />”;   //进行输出查看

While($flist=readdir($fso))

{

Echo $flist.”<br />”

}

Closedir($fso);     //防止内存的溢出,最后需要进行关闭

?>

有时间需要知道目录的信息,可以使用dirname($path)和basename($path),分别返回路径的目录部分和文件的名称部分,可用disk_free_space($path)返回查看文件剩余的空间。

创建文件夹命令:

Mkdir($path,0777):     0777是文件创建时候的权限,这个命令仅仅适用于unix系统

Rmdir($path);         删除路径为$path的文件

2.关于文件的操作

2.1 新建文件

首先。要求确定你所要新建文件所在目录权限,建议设置为0777.然后,新建文件的名称建议适用绝对路径

<?php

$filename=”text.txt”;

$fp=fopen(“$filename”,”w+”);

If(!is_writable($filename))

{

Die(“文件:”.filename.”不可写,请检查!”);

}

Fwrite($filename,”anything you want to write to $filename”);

Fclose($fp);  //关闭内存的暂用

?>

2.2读取文件

首先要确定文件是否拥有读取的权限(或则读取的文件是否存在),我们可以用is_readable函数获取信息;

<?php

$file=”dirlist.php”;

If(is_readable($file)==false)

{

Die(“文件不存在或则无法读取”);

}else{

Echo “存在”;

}

判断文件存在的函数还有file_exists(),但是这个显然我is_readable全面,当一个文件存在的话 可以用

<?php

$file=”filelist.php”;

If(file_exists($file)==false)

{

Die(“文件不存在”);

}

$data=file_get_contents($file);

Echo htmllentities($data);             //需要测试这个函数是什么意思;

还有一种方式,可以读取二进制文件

$data=inplode(“”,file($file));         //需要测试

?>

2.3写文件

和读取文件的方式一样,先看看是不是能写

<?php

$file=”dirlist.php”;

If(is_writable($file)==false)

{

Die(“文件没有写入的权限”);

}

?>

能够写入的话使用的是file_put_contents函数写入:

<?

$file=”dirlist.php”;

If(is_writable($file)==false)

{

Die(“我是鸡毛,我不能。”);

}

$date=”我是写入内容”;

File_put_contents($file,$data);

?>

File_put_contents函数是在php5中新引进的函数(不知道存在的话用

Function_exists函数先判断一下),低版本的php无法使用,可以使用如下的方式:

$f=fopen($file,”w”);

Fwrite($f,$data);

Fclose($f);

写文件的时候有时候需要锁定,然后写:

Function cache_page($pageurl,$pagedata)

{

If(!$fso=fopen($pageurl,”w”))

{

$this->warns(“无法打开缓存文件。”); //错误提醒

Return false;

}

If(!loack($fos,LOCK_EX))

{

//lock_nb ,排它型锁定

$this->warns(“无法锁定缓存文件。”);//错误提醒

Return false

}

If(!fwrite($fso,$pagedata))

{

//写入字节流,$serialize写入其他的格式

$this->warns(“无法写入缓存文件”); //错误提醒

Return false;

}

Flock($fso,LOCK_UN);//解放锁定

Fclose($fso);

Return true ;

}

2.4复制,删除文件

Php删除文件是非常简单的,用unlink函数简单操作:

<?php

$file=”dirlist.php”;

[email protected]($file);

If($result==false)

{

Echo “文件已经删除”;

}else{

Echo “文件删除失败”;

}

?>

可以使用rename()函数重命名一个文件夹,其他的炒作都是这几个函数组合一下就能够实现

2.5获取文件属性

我这个说几个常见的幻术

获取最近修改时间

<?php

$file=”text.txt”;

Echo date(“r’,filemtime($file));

?>

返回的说unix的时间戳,这个在缓存技术常用

相关的还有获取上次被访问的时间fileatime(),filectime()当前文件的权限,所有则,所有组或其他inode中的元素被更新时间,fileowner()函数返回文件所有者;

$owner=posix_getpuid(flieowner($file));

(非window系统),ileperms 获取文件的权限,

<?php

$file=”dirlist.php”;

$perms=substr(sprintf(‘%o’,fileperms($file)),-4);

Echo $perms;

?>

.

Filesize( ) 返回文件大小的字节数

<?php

//输出类似:somefile.txt   1024 bytes

$filename=”somefile.txt”;

Echo $filename.”:”.filesize($filename).”bytes”;

?>

获取文件的全部信息有个返回数组的函数stat() 函数

<?php

$file=”dirlist.php”;

$perms=stat($file);

Var_dump($perms);

?>

时间: 2024-10-11 09:26:11

php的文件操作以及目录浏览的相关文章

总结文件操作函数-目录(三)-C语言

获取.改变当前目录: 原型为: #include <unistd.h>   //头文件 char *getcwd(char *buf, size_t size); //获取当前目录,相当于pwd命令 int chdir(const char *path); //修改当前目录,即切换目录,相当于cd命令 其中getcwd()函数:将当前的工作目录绝对路径复制到参数buf所指的内存空间,参数size为buf的空间大小. 在调用此函数时,buf所指的内存空间要足够大,若工作目录绝对路径的字符串长度超

说说Python 中的文件操作 和 目录操作

我们知道,文件名.目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名.目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfile函数.isdir函数和islink函数来达成我们的目标,如下所示: print myfile, ’是一个’, if os.path.isfile(myfile): print ’plain file’ if os.path.isdir(myfile): print ’directory’ if

【1】C#文件操作之目录操作

命名空间:Sytem.IO Directory类下的静态方法: 一.创建目录 Directory.CreateDirectory(string fileName); 二.

【Go语言】集合与文件操作

本文目录 1.数据集合的主要操作 1_1.字典的声明 1_2.字典的初始化和创建 1_3.字典的访问和操作 1_4.其他类型的数据集 2.文件操作 2_1.文件操作概述os包和path包 2_2.文件操作示例 目录操作: 打开与建立文件: 写文件 : 读文件: 删除文件: 回到顶部 1.集合以及主要操作 首先要提到的是Go语言的内置数据类型map(字典类型 类似于Java中的HashMap和Swift中的Directory),这样你无需导入任何包便可 使用map类型了.map是一种特殊的数据结构

字符串操作、文件操作,英文词频统计预处理

1.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 解析身份证信息: ID=input("输入你的身份证号:") shengfen = ID[0:2] year = ID[6:10] month = ID[10:12] day = ID[12:14] sex=ID[-2] print('你的省份信息为:'+shengfen) print('出生日期为:'+year+'年'+day+'月'+day+'日') if (int(sex) % 2)

目录操作和文件操作的函数

一:目录操作的函数1.创建目录: mkdir(目录地址和名字,权限)----第三个参数bool,支持递归创建 2.删除目录:目录下没有其他文件的时候才可以 rmdir(目录地址) 3.移动目录(改名): rename(原始文件路径,新的文件路径) 4.获取目录的内容 1,打开目录,opendir,得到一个目录句柄(目录资源) 2,依次读取目录内的文件,readdir 3,关闭目录句柄(closedir)遍历目录下的所有文件!遍历只会遍历当前目录下的(一层) 5.获取当前工作路径 getcwd--

Linux命令行基础 、 基础命令操作 、 目录文件基本操作

  Linux命令行基础 基础命令使用 目录和文件基本管理 #################################################   一.Linux命令行基础   1. 什么是命令.命令行    命令:能够被Linux系统识别,用来完成某一类功能的指令或程序                           |--> 依赖于Shell解释器,查看:cat/etc/shells 默认为 /bin/bash    命令行:用户输入的命令及相关参数,按Enter键提交的

.Net常用技巧_目录与文件操作

using System; using System.Collections.Generic; using System.Text; using System.IO; namespace MyTool { public class FileOperator { /// <summary> /// 返回指定目录下所有文件信息 /// </summary> /// <param name="strDirectory">目录字符串</param>

尝试 “实验楼” 目录及文件操作 (2)

创建文件夹:-mkdir <span style="font-size:18px;">[email protected]:~$ mkdir testdir # 创建testdir文件夹 [email protected]:~$ ls # ls命令可以看到你所创建的文件夹</span> 删除文件夹:-rmdir <span style="font-size:18px;">[email protected]:~$ rmdir test