《PHP教程:基于PHP常用文件函数和目录函数整理》要点:
本文介绍了PHP教程:基于PHP常用文件函数和目录函数整理,希望对您有用。如果有疑问,可以联系我们。
PHP实例一、常用文件函数库
PHP实例1、basename(); -- 返回路径中的文件名部分.
PHP实例 string basename ( string $path [,string $suffix ] ) //给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名.
PHP实例参数:path 一个路径.在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符.在其它环境下是斜线(/)
PHP实例suffix 如果文件名是以 suffix 结束的,那这一部分也会被去掉.
PHP实例返回值:返回 path 的基本的文件名.
PHP实例 $path = 'd:/test/test.txt'; echo basename($path); echo "<br>"; echo basename($path,'.txt');
PHP实例2、dirname(); -- 返回路径中目录部分
PHP实例 string dirname ( string $path ) //给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名.
PHP实例参数:path,一个路径.在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符.在其它环境下是斜线(/).
PHP实例返回值:返回 path 的父目录. 如果在 path 中没有斜线,则返回一个点('.'),表示当前目录.否则返回的是把path 中结尾的 /component(最后一个斜线以及后面部分)去掉之后的字符串.
PHP实例 $path = 'd:/test/test.txt'; echo basename($path); echo "<br>"; echo basename($path,'.txt'); echo "<br>"; echo dirname($path);
PHP实例3、pathinfo(); --返回文件路径的信息
PHP实例 mixed pathinfo ( string $path [,int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] ) //pathinfo() 返回一个关联数组包含有 path 的信息.返回关联数组还是字符串取决于 options.
PHP实例参数: path 要解析的路径.
PHP实例options 如果指定了,将会返回指定元素;它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和PATHINFO_EXTENSION 或 PATHINFO_FILENAME.如果没有指定 options 默认是返回全部的单元.
PHP实例返回值:如果没有传入 options,将会返回包括以下单元的数组 array:dirname,basename 和 extension(如果有),以 及filename.
PHP实例 $path = 'd:/test/test.txt'; var_dump(pathinfo($path));
PHP实例4、filetype();--取得文件类型
PHP实例 string filetype ( string $filename ) //返回文件的类型.
PHP实例参数: filename 文件的路径.
PHP实例返回值: 返回文件的类型.
PHP实例可能的值有 fifo,char,dir,block,link,file 和 unknown.如果出错则返回 FALSE.如果 stat 调用失败或者文件类型未知的话 filetype() 还会产生一个 E_NOTICE 消息.
PHP实例 $path = 'd:/test/test.txt'; echo filetype($path); //结果file
PHP实例5、fstat()和stat();
PHP实例⑴、fstat()-通过已打开的文件指针取得文件信息
PHP实例 array fstat ( resource $handle ) //获取由文件指针 handle 所打开文件的统计信息.本函数和 stat() 函数相似,除了它是作用于已打开的文件指针而不是文件名.
PHP实例参数: handle 文件系统指针,是典型地由 fopen() 创建的 resource(资源).
PHP实例返回值: 返回一个数组具有该文件的统计信息,该数组的格式详细说明于手册中 stat() 页面里.
PHP实例⑵、stat() --给出文件的信息
PHP实例 array stat ( string $filename ) //获取由 filename 指定的文件的统计信息.如果 filename 是符号连接,则统计信息是关于被连接文件本身的,而不是符号连接. //lstat() 和 stat() 相同,只除了它会返回符号连接的状态.
PHP实例参数:filename 文件的路径.
PHP实例 $path = 'd:/test/test.txt'; $fp = fopen("d:/test/test.txt","r"); $fstat = fstat($fp); fclose($fp); var_dump($fstat);
PHP实例6、filesize();--取得文件大小
PHP实例 int filesize ( string $filename ) //取得指定文件的大小.
PHP实例参数:filename 文件的路径.
PHP实例返回值:返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误.
PHP实例 <?php // 输出类似:test.txt: bytes $filename = 'd:/test/test.txt'; echo $filename . ': ' . filesize($filename) . ' bytes'; ?> //结果:d:/test/test.txt: 12 bytes
PHP实例7、disk_free_space(); -- 返回目录中的可用空间
PHP实例 float disk_free_space ( string $directory ) //给出一个包含有一个目录的字符串,本函数将根据相应的文件系统或磁盘分区返回可用的字节数.
PHP实例参数:directory 文件系统目录或者磁盘分区.
PHP实例 header("Content-Type:Text/html;charset=utf8"); $path = 'd:/test/test.txt'; $df = disk_free_space("d:/"); echo $df."字节";
PHP实例8、disk_total_space(); --返回一个目录的磁盘总大小
PHP实例 float disk_total_space ( string $directory ) //给出一个包含有一个目录的字符串,本函数将根据相应的文件系统或磁盘分区返回所有的字节数. 【译者注】本函数返回的是该目录所在的磁盘分区的总大小,因此在给出同一个磁盘分区的不同目录作为参数所得到的结果完全相同. 在 Unix 和 Windows 200x/XP 中都支持将一个磁盘分区加载为一个子目录,这时正确使用本函数就很有意义.
PHP实例参数:directory 文件系统的目录或者磁盘分区
PHP实例9、fopen($filepath,$mode)
PHP实例 resource fopen ( string $filename,string $mode [,bool $use_include_path = false [,resource $context ]] ) //fopen() 将 filename 指定的名字资源绑定到一个流上
PHP实例参数:filename 如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式.如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去.
PHP实例 <?php $handle = fopen("/home/rasmus/file.txt","r"); $handle = fopen("/home/rasmus/file.gif","wb"); $handle = fopen("http://www.example.com/","r"); $handle = fopen("ftp://user:password@example.com/somefile.txt","w"); ?>
PHP实例10、file();--把整个文件读入一个数组中
PHP实例 array file ( string $filename [,int $flags = 0 [,resource $context ]] ) //把整个文件读入一个数组中.
PHP实例参数:filename 文件的路径.
PHP实例flags 可选参数 flags 可以是以下一个或多个常量:
PHP实例1、FILE_USE_INCLUDE_PATH 在 include_path 中查找文件.
PHP实例2、FILE_IGNORE_NEW_LINES 在数组每个元素的末尾不要添加换行符
PHP实例3、FILE_SKIP_EMPTY_LINES 跳过空行.
PHP实例context 一个上下文资源,创建stream_context_create()函数.
PHP实例 <?php // 将一个文件读入数组.本例中通过 HTTP 从 URL 中取得 HTML 源文件. $lines = file('http://www.example.com/'); // 在数组中循环,显示 HTML 的源文件并加上行号. foreach ($lines as $line_num => $line) { echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; } // 另一个例子将 web 页面读入字符串.参见 file_get_contents(). $html = implode('',file('http://www.example.com/')); // 从 PHP 5 开始可以使用可选标记参数 $trimmed = file('somefile.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); ?>
PHP实例11、file_get_contents();-- 将整个文件读入一个字符串
PHP实例 string file_get_contents ( string $filename [,resource $context [,int $offset = -1 [,int $maxlen ]]]] ) //和 file() 一样,只除了 file_get_contents() 把文件读入一个字符串.将在参数 offset 所指定的位置开始读取长度为 maxlen 的内容.如果失败,file_get_contents() 将返回 FALSE.
PHP实例参数:filename: 要读取的文件的名称.
PHP实例use_include_path:As of PHP 5 the FILE_USE_INCLUDE_PATH can be used to trigger include path search.
PHP实例context:A valid context resource created with stream_context_create(). 如果你不需要自定义 context,可以用 NULL 来忽略.
PHP实例 header("Content-Type:Text/html;charset=utf8"); // <= PHP 5 $file = file_get_contents('d:/test/test.txt',true); echo $file.'<br>'; // > PHP 5 $file = file_get_contents('d:/test/test.txt',FILE_USE_INCLUDE_PATH); echo $file; //结果 //this is test //this is test
PHP实例12、fgets();--从文件指针中读取一行
PHP实例 string fgets ( resource $handle [,int $length ] ) //从文件指针中读取一行.
PHP实例参数:handle:文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭).