PHP编程语言手册五:PHP中对文件的操作

2019-03-1419:36:58后端程序开发Comments2,242 views字数 2062阅读模式
1.创建文件(含递归文件夹)
PHP编程语言手册五:PHP中对文件的操作
$path = 'G:/Out/language/php/2/3/45/dragon.txt';
createFile($path);

function createFile($path){
    $dir = dirname($path);//获取父文件
    if (!file_exists($dir)) {
        mkdirs($dir);
        createFile($path);
    } else {
        fopen($path, "w");
    }
}

function mkdirs($dir){
    return is_dir($dir) or mkdirs(dirname($dir)) and mkdir($dir, 0777);
}
复制代码

2.写入字符文件

文件不存在,则创建文件再写入文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9980.html

PHP编程语言手册五:PHP中对文件的操作
/**
 * 将内容写入文件
 * @param $path 路径
 * @param $content 内容
 */
function writeStr($path, $content){
    if (file_exists($path)) {
        if ($fp = fopen($path, 'w')) {
            fwrite($fp, $content);
            fclose($fp);
            echo "<br>写入成功 " . $content;
        } else {
            echo "<br>创建失败 ";
        }
    } else {
        createFile($path);
        writeStr($path, $content);
    }
}
复制代码

3.读取文件
PHP编程语言手册五:PHP中对文件的操作
|-- 内置函数 readfile 读取文件
echo readFile($path);

|-- fgetc 逐字读取
function readFileByPath($path){
    $result = "";
    $file = fopen($path, "r") or $result . "无法打开文件!";
    while (!feof($file)) {
        $result .= fgetc($file);
    }
    fclose($file);
    return $result;
}

|-- fgets 逐行读取
function readFileByLine($path){
    $result = "";
    $file = fopen($path, "r") or $result . "无法打开文件!";
    while (!feof($file)) {
        $result .= fgets($file)."<br/>";
    }
    fclose($file);
    return $result;
}

|-- 以行划分将文件读入数组
var_dump(file($path));

array(3) { [0]=> string(26) "应龙----张风捷特烈 " [1]=> string(49) "一游小池两岁月,洗却凡世几闲尘。 " [2]=> string(48) "时逢雷霆风会雨,应乘扶摇化入云。" }
复制代码

4.文件信息

还有很多乱七八糟的方法...用的时候再找吧,感觉和Python挺像的文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9980.html

PHP编程语言手册五:PHP中对文件的操作
$path = 'G:/Out/language/php/2/3/45/dragon.txt';

$stat = stat($path);
echo "创建时间:" . date("Y-m-d H:i", $stat["ctime"]);//2019-03-14 04:45
echo "修改时间:" . date("Y-m-d H:i", $stat["mtime"]);//2019-03-14 04:54
echo "文件大小:" . $stat["size"] . " 字节";
echo "文件模式:" . $stat["mode"];
echo "文件名:" . basename($path);
echo "父文件夹:" . dirname($path);
echo "是否是文件夹:" . (is_dir($path) ? "true" : "false");
echo "是否是文件:" . (is_file($path) ? "true" : "false");
echo "是否存在:" . (file_exists($path) ? "true" : "false");
echo "文件所在磁盘可用大小:" . disk_free_space(dirname($path)) . " 字节";
echo "文件所在磁盘总大小:" . disk_total_space(dirname($path)) . " 字节";
echo "文件类型:" . filetype($path);//file
复制代码

5.文件读写权限

基本上和其他语言一样文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9980.html

r	只读。在文件的开头开始。
r+	读/写。在文件的开头开始。

w	只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+	读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。

a	追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。
a+	读/追加。通过向文件末尾写内容,来保持文件内容。

x	只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
x+	读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

作者:张风捷特烈
链接:https://juejin.im/post/5c8a19d75188257dd56e7d91
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9980.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9980.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/9980.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定