资讯专栏INFORMATION COLUMN

PHP 文件处理函数详解

Cheriselalala / 2764人阅读

摘要:将写入文件中,如果没有此文件,则创建,失败返回,成功返回写入字节数。发生错误时会产生一个级别的错误。删除文件,同样需要注意权限。不仅可以文件重命名,还可以移动文件,失败返回。示例当前目录下的重命名为将当前目录下的移动到下将文件从拷贝到。

导语

PHP可以很方便的对目录、文件进行操作,包括创建、读取、修改、删除等。

mkdir
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
尝试新建一个由 pathname 指定的目录。

mkdir 可以创建 pathname 指定目录,默认 mode 是0777,在 windows 下被忽略,失败返回 false。


rmdir
bool rmdir ( string $dirname [, resource $context ] )
尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。 失败时会产生一个 E_WARNING 级别的错误。

如上所示,rmdir 可以删除目录,需要注意的是该目录必须为空,而且要有权限,失败返回 false。示例


file_put_contents
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

file_put_contents 将 data 写入 filename 文件中,如果没有此文件,则创建,失败返回 false,成功返回写入字节数。示例


file_get_contents
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
和 file() 一样,只除了 file_get_contents() 把文件读入一个字符串。将在参数 offset 所指定的位置开始读取长度为 maxlen 的内容。

file_get_cntents 读取 filename 中的内容,返回字符串,失败返回 false。示例


unlink
bool unlink ( string $filename [, resource $context ] )
删除 filename。和 Unix C 的 unlink() 函数相似。 发生错误时会产生一个 E_WARNING 级别的错误。

unlink 删除 filename 文件,同样需要注意权限。示例


rename
bool rename ( string $oldname , string $newname [, resource $context ] )
尝试把 oldname 重命名为 newname。

rename 不仅可以文件重命名,还可以移动文件,失败返回 false。示例


copy
bool copy ( string $source , string $dest [, resource $context ] )
将文件从 source 拷贝到 dest。

如上所示,失败返回 false。示例


实例及注释

下面是几个实例,工作或面试中会用到。

";
    foreach (scandir($path) as $line) {
        if ($line == "." || $line == "..") {
            continue;
        }

        if (is_dir($path . "/" . $line)) {
            getAllFiles($path . "/" . $line);
        }
        echo "
  • " . $path . "/" . $line . "
  • "; } echo ""; } /** * 删除目录下所有文件 * @param $path */ function delAllFile($path) { if (!is_dir($path)) { exit("目录不存在"); } $dir = opendir($path); while ($filename = readdir($dir)) { if ($filename != "." && $filename != "..") { $file = $path . "/" . $filename; if (is_dir($file)) { delAllFile($file); } else { unlink($file); } } } closedir($dir); rmdir($path); }
    注释

    mkdir de 中的 recursive 参数,可以嵌套创建目录;

    file_put_contents 中的 flags 参数,可以进行组合,详情参考链接;

    file_put_contents 也可能返回等同于 false 的非布尔值,使用===判断;

    file_get_contents 也可以打开 URL,获取网页内容;

    file_get_contents 如果要打开有特殊字符的 URL (比如说有空格),就需要使用 urlencode() 进行 URL 编码;

    copy 如果目标文件已存在,将会被覆盖;


    参考资料:文件系统函数、mkdir、rmdir、file_put_contents、file_get_contents、unlink、rename、copy。

    文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

    转载请注明本文地址:https://www.ucloud.cn/yun/29944.html

    相关文章

    • [转]详解PHP设置定时任务的实现方法

      摘要:服务器定时任务服务器定时任务需要你是独立的服务器,或者是,总之就是对系统的配置有足够的权限,虚拟空间就不要折腾这个方法了,因为你没有权限。 文章转载自:问说网 » 详解PHP设置定时任务的实现方法地址:http://www.uedsc.com/php-timing-task.html 定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大...

      lemon 评论0 收藏0
    • 详解PHP操作MySQL数据库

      摘要:安装的路径在数据库基本操作用户的浏览器发出请求请求特定页面。命打开通向数据库的连接发送适当的查询。服务器接收数据库查询并处理。增删改查新增数据新增数据小明新增错误我们将上面的代码保存为,丢进文件夹。 Mac本地环境搭建 在Mac系统,我们可以使用MAMP Pro 软件来搭建本地服务器。安装好这款软件,网站的目录在 /Applications/MAMP/htdocs 文件夹里,只需将文...

      maybe_009 评论0 收藏0
    • PHP cURL请求详解

      摘要:不支持多进程,如果需要异步请求,非阻塞的方式,请选择。时会发送请求,类型为,是表单提交时最常见的一种。允许函数执行的最长秒数。设定请求中部分的内容。常规的使用来请求,功能强大,使用方便,按需配置。 在PHP后端的开发过程中,除了获取数据库的数据和处理数据的内部逻辑,往往还需要请求其他服务器接口的数据,我们一般有3种方式来获取数据,分别是: file_get_contents fsoc...

      paney129 评论0 收藏0
    • 详解Session

      摘要:会在脚本执行完毕或调用函数之后调用此回调函数。此回调函数操作成功返回,反之返回。在回调函数中,以传入的作为,以的值作为中的值存入,并设置过期时间为秒方法以传入的为从取出相应的的值。 1 Session的基本概念和设置 Session存储在服务端,本质上和Cookie没有区别,都是针对http协议的局限性而提出的一种保持客户端和服务端间会话状态的机制。Session经常用来网站的上下文间...

      joy968 评论0 收藏0

    发表评论

    0条评论

    Cheriselalala

    |高级讲师

    TA的文章

    阅读更多
    最新活动
    阅读需要支付1元查看
    <