<?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. performance checklist

    - embree integration                                       0w - uncompressed bvh nodes               ...

  2. 达梦数据库(DaMeng)如何删除IDENTITY自增属性字段

    今天工作中使用到达梦数据库,要求删除具有IDENTITY自增属性的字段. 直接执行删除:ALTER TABLE <表名> DROP COLUMN <列名> CASCADE; 删 ...

  3. cisco和h3c网络设备中一次性打印全部配置信息

    cisco的是全页打印配置信息的命令: #terminal length 0 #show run 华为和h3c的是: >screen-length 0 temporary >display ...

  4. 在线绘图网站 UML、思维导图、 流程图、 用例图等等

    https://www.processon.com/ 用我的微信登录即可 帐号是 QQ邮箱

  5. 爬虫开发8.scrapy框架之持久化操作

    今日概要 基于终端指令的持久化存储 基于管道的持久化存储 今日详情 1.基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的 ...

  6. [agc007f] Shik and Copying String 模拟神题

    Description ​ "全"在十分愉快打工,第0天,给了他一个仅有小写字母构成的长度为N的字符串S0,在之后的第i天里,"全"的工作是将Si−1复制一份到 ...

  7. SP16549 QTREE6 - Query on a tree VI(LCT)

    题意翻译 题目描述 给你一棵n个点的树,编号1~n.每个点可以是黑色,可以是白色.初始时所有点都是黑色.下面有两种操作请你操作给我们看: 0 u:询问有多少个节点v满足路径u到v上所有节点(包括)都拥 ...

  8. MkDocs 文档生成逻辑浅析

    Markdown 和 MkDocs 简介 Markdown 的语法简洁明了.学习容易,而且功能比纯文本更强,因此有很多人用它写博客.世界上最流行的博客平台 WordPress 和大型 CMS 如 Jo ...

  9. c语言-勒让德多项式求解+时间测定

    #include<iostream>#include<ctime>#include<cstdlib>using namespace std; float LRD(i ...

  10. C++11 template parameter deduction

    C++11 引入了右值引用的概念,由此在引出 an rvalue reference to a cv-unqualified template parameter. 在template functio ...