<?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. C++静态成员和非静态成员的区别和使用

    C++静态成员和非静态成员的区别和使用 对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员和静态方法. 只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进 ...

  2. ZKEACMS添加搜索功能,搜索插件说明

    ZKEACMS默认是不支持搜索功能的.但是搜索功能是比较常用的一个功能,使用这个搜索插件,可以让CMS支持搜索: 如下图所示: 数据库 Microstft Sql Server 2008R2 以上 页 ...

  3. ML.NET Cookbook --- 1.如何从文本文件中加载数据?

    使用ML.NET中的TextLoader扩展方法从文本文件中加载数据.你需要知道在文本文件中数据列在那里,它们的类型是什么,在文本文件中什么位置可以找到它们. 请注意:对于ML.NET只读取文件的某些 ...

  4. 【题解】 LA3708 Graveyard

    题目大意 在一个圆周长为10000的圆上等距离分布n个雕塑,现在有m个新加入的雕塑(还是要求等距离摆放),问n个雕塑移动的总距离的最小值. Solution 显然必然会有一个雕塑不移动,所以可以直接不 ...

  5. 1. Python2 ,Python3区别

    Python2: 1. 源码都含有PHP,Java,C等语言的规范陋习. 2.重复代码比较多. Python3: 源码很规范,清晰,简单,符合Python的宗旨.

  6. c语言-求完全数的一个算法

    #include<iostream> #include<math.h> using namespace std; int main() { int n,i,j=0,k,a[10 ...

  7. java字段中初始化的规律与如何用静态成员函数调用非静态成员

    java字段中初始化的规律: 执行以下代码,出现的结果是什么? class InitializeBlockClass{ { field=200; } public int field=100; pub ...

  8. 2016级算法第一次练习赛-C.斐波那契进阶

    870 斐波那契进阶 题目链接:https://buaacoding.cn/problem/870/index 思路 通过读题就可以发现这不是一般的求斐波那契数列,所以用数组存下所有的答案是不现实的. ...

  9. TX 下常用的查询指令

    查看Jetson TX2 L4T版本 head -n 1 /etc/nv_tegra_release 查看系统版本 cat /etc/lsb-release 查看系统l内核 uname -a 查看内存 ...

  10. JavaWeb学习笔记(十九)—— 分页

    一.MySQL中的分页 格式:select * from 表 limit ?,?; 参数1:开始索引start,默认值:.必须是正数 参数2:每页显示个数 pageSize 例如: ,; #第一页,每 ...