<?php

$path = "/home/work/srccode/hello.go";
$dirName = dirname($path);
$name = basename($path); echo $dirName;
echo "\n";
echo $name; //获取文件的信息,如dirname、basename、filename、extension
$pathInfo = pathinfo($path); var_dump($pathInfo); //获取文件类型,如dir、file等
$fileType = filetype($path); var_dump(filetype($dirName));
var_dump($fileType);
//fopen($fileName, $mode)的文件打开方式:
/*
r 只读方式打开
r+ 读写方式打开,文件指针在文件开头,不清空文件内容,新写入的内容覆盖之前的内容,存在新内容与老内容共存情况
w 写入方式打开,清空文件内容,文件不存在则尝试创建
w+ 读写方式打开,清空文件内容,文件不存在则尝试创建
a 写入方式打开,文件指针在文件末尾,文件不存在则尝试创建
a+ 读写方式打开,文件指针在文件末尾,文件不存在则尝试创建
*/
$f = fopen($path, "r");
//$fileInfo = fstat($f);
$fileInfo = stat($path);
var_dump($fileInfo); //文件大小
$fileSize = filesize($path);
var_dump($fileSize); //将文件内容每行作为一个元素读入数组
$fileContent = file($path);
var_dump($fileContent); //文件所有内容以字符串形式读出来
$fileContent = file_get_contents($path);
var_dump($fileContent);
//fgets默认读取1k字节,如果遇到了换行、EOF或者读取了length-1个字节返回
$length = 2048;
$oneLine = fgets($f, $length);
var_dump($oneLine);
//功能类似于fgets,不过会过尝试滤掉PHP和HTML标记。函数定义fgetss(filename, length, tags)
$newf = fopen("/home/work/srccode/test.html", "r");
var_dump($newf);
echo "---------"; $newOneLine = fgetss($newf, 10000, "<html>");
var_dump($newOneLine);
echo "+++++++++++++"; //判断是否文件结束
//feof($f); //打开一个目录句柄
$handler = opendir($dirName);
//需要先打开目录句柄,readdir()每次从目录句柄中读取目录中一个内容
while($dirContent = readdir($handler)){
var_dump($dirContent);
}
closedir($handler); //读取目录下的所有文件,以数组形式升序返回
$dirContents = scandir($dirName);
var_dump($dirContents);
$dirContents = scandir($dirName, 1);
var_dump($dirContents); //判断路径是否是目录
$isDir = is_dir($dirName);
var_dump($isDir);
$isDir = is_dir($path);
var_dump($isDir);
//判断是否是文件
$isFile = is_file($dirName. "/link1");
var_dump($isFile); //判断文件属性是否可读
$isReadable = is_readable($path);
var_dump($isReadable); //检测文件或目录是否存在
$fileExists = file_exists($path);
var_dump($fileExists);
$fileExists = file_exists($dirName);
var_dump($fileExists);
fclose($f);
//将文件指针定位到某个位置,SEEK_SET使用offset作为新位置,SEEK_CUR使用当前位置加offset作为新位置
//SEEK_END使用文件尾加offset作为新位置,offset需要是负值才能定位到文件内容
$offset = 0;
$seekRes = fseek($f, $offset+10, SEEK_END);
$readRes = fread($f, 10);
var_dump($readRes);
//删除文件
$fileName = "test";
//unlink删除文件,结果是bool类型
$unlinkRes = unlink($fileName);
var_dump($unlinkRes); //倒回文件开始的地方,结果是bool类型,如果是a或者a+方式打开,不起作用,总是写在末尾
$rewindRes = rewind($f); //file_put_contents函数默认情况将内容写入文件中,之前的内容被删除
//$mode = FILE_APPEND可以避免删除文件的内容,成功写入返回写入的字节数,失败false
$writeByteSize = file_put_contents("filename", "this is data");
var_dump($writeByteSize);

  

//将文件指针定位到某个位置,SEEK_SET使用offset作为新位置,SEEK_CUR使用当前位置加offset作为新位置//SEEK_END使用文件尾加offset作为新位置,offset需要是负值才能定位到文件内容$offset = 0;$seekRes = fseek($f, $offset+10, SEEK_END);$readRes = fread($f, 10);var_dump($readRes);//删除文件$fileName = "test";//unlink删除文件,结果是bool类型$unlinkRes = unlink($fileName);var_dump($unlinkRes);
//倒回文件开始的地方,结果是bool类型,如果是a或者a+方式打开,不起作用,总是写在末尾$rewindRes = rewind($f);
//file_put_contents函数默认情况将内容写入文件中,之前的内容被删除//$mode = FILE_APPEND可以避免删除文件的内容,成功写入返回写入的字节数,失败false$writeByteSize = file_put_contents("filename", "this is data");var_dump($writeByteSize);

PHP常用文件操作的更多相关文章

  1. python 历险记(三)— python 的常用文件操作

    目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...

  2. Python之常用文件操作

    Python之常用文件操作

  3. Unix/Linux常用文件操作

    Unix/Linux常用文件操作 秘籍:man命令是Unix/Linux中最常用的命令,因为命令行命令过多,我相信每个人都会经常忘记某些命令的用法,man命令就可以显示一个命令的所有选项,参数和说明, ...

  4. 真香!Python十大常用文件操作,轻松办公

    日常对于批量处理文件的需求非常多,用Python写脚本可以非常方便地实现,但在这过程中难免会和文件打交道,第一次做会有很多文件的操作无从下手,只能找度娘. 本篇文章整理了10个Python中最常用到的 ...

  5. Java常用文件操作-2

    上篇文章记录了常用的文件操作,这里记录下通过SSH服务器操作Linux服务器的指定路径下的文件. 这里用到了第三方jar包 jsch-0.1.53.jar, jsch-api 1.删除服务器上指定路径 ...

  6. 【阅读笔记】《C程序员 从校园到职场》第六章 常用文件操作函数 (Part 1)

    参考链接:https://blog.csdn.net/zhouzhaoxiong1227/article/details/24926023 让你提前认识软件开发(18):C语言中常用的文件操作函数总结 ...

  7. 文件操作(FILE)与常用文件操作函数

    文件 1.文件基本概念 C程序把文件分为ASCII文件和二进制文件,ASCII文件又称文本文件,二进制文件和文本文件(也称ASCII码文件)二进制文件中,数值型数据是以二进制形式存储的, 而在文本文件 ...

  8. Java常用文件操作-1

    在我们的实际工作中经常会用到的文件操作,再此,将工作中碰到的做一个记录,以便日后查看. 1.复制文件夹到新文件夹下 /** * 复制文件夹下所有文件到指定路径 *@param oldPath *@pa ...

  9. C#File类常用文件操作以及一个模拟的控制台文件管理系统

    重温一下C#中File类的一些基本操作: File类,是一个静态类,主要是来提供一些函数库用的. 使用时需要引入System.IO命名空间. 一.常用操作: 1.创建文件方法 //参数1:要创建的文件 ...

  10. 常用文件操作 分类: C# 2014-10-14 16:18 108人阅读 评论(0) 收藏

    界面图: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

随机推荐

  1. (zxing.net)一维码Code 39的简介、实现与解码

    一.简介 一维码Code 39:由于编制简单.能够对任意长度的数据进行编码.支持设备广泛等特性而被广泛采用. Code 39码特点: 能够对任意长度的数据进行编码,其局限在于印刷品的长度和条码阅读器的 ...

  2. 用Docker自动构建纸壳CMS

    纸壳CMS可以运行在Docker上,接下来看看如何自动构建纸壳CMS的Docker Image.我们希望的是在代码提交到GitHub以后,容器镜像服务可以自动构建Docker Image,构建好以后, ...

  3. 【bzoj4889】: [Tjoi2017]不勤劳的图书管理员 分块-BIT

    [bzoj4889]: [Tjoi2017]不勤劳的图书管理员 题目大意:给定一个序列(n<=50000),每个数有一个编码ai(ai<=50000)和权值vi(vi<=100000 ...

  4. JMessage Android 端开发详解

    目前越来越多的应用会需要集成即时通讯功能,这里就为大家详细讲一下如何通过集成 JMessage 来为你的 App 增加即时通讯功能. 首先,一个最基础的 IM 应用会需要有哪些功能? 用户注册 / 登 ...

  5. 函数新特性、内联函数、const详解

    一.函数回顾与后置返回类型 函数定义中,形参如果在函数体内用不到的话,则可以不给形参变量名字,只给其类型. 函数声明时,可以只有形参类型,没有形参名 把函数返回类型放到函数名字之前,这种写法,叫前置返 ...

  6. 2016级算法第四次上机-E.Bamboo and the Ancient Spell

    Bamboo and the Ancient Spell 分析 可能英文读题难度比较大,但是只要看到全大写的 "THE LONGEST COMMON SUBSEQUENCE !"应 ...

  7. 集合之四:List接口

    查阅API,看List的介绍.有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的 ...

  8. bzoj2959: 长跑(LCT+并查集)

    题解 动态树Link-cut tree(LCT)总结 LCT常数大得真实 没有环,就是\(lct\)裸题吧 有环,我们就可以绕环转一圈,缩点 怎么搞? 当形成环时,把所有点的值全部加到一个点上,用并查 ...

  9. Go语言特殊函数介绍

    main 函数 Go语言程序的默认入口函数(主函数):func main()函数体用{}一对括号包裹.只能应用于package main func main(){ //函数体 } init 函数 go ...

  10. vue 移动端,页面左右页面切换效果(切换过程中会出现白屏效果,布吉岛怎么优化,后来就发布前就弃用了)

    <transition name="left"> <router-view v-if="getCms" class="Router& ...