php 文件的操作
这篇文章介绍的内容是关于php 文件的操作 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
虽说这是很基础的东西,惭愧的是我却对此并不是很了解。所以借此温故了一下
文件进行写操作的步骤
打开这个文件。如果文件不存在,那么创建它。
创建文件锁,防止并发
将这些数据写入这个文件
释放锁,并且关闭文件句柄
文件进行读操作的步骤
打开这个文件,如果不能打开就退出
从文件中读取数据
关闭这个文件
打开文件操作
fopen($filename,$mode,$include_path,$context)
打开失败返回false 打开成功则返回资源对象。
属性名称 | 作用 |
---|---|
$filename | 文件的路径(文件路径的间隔符用‘/’来表示,用’\’可能会导致linux不识别) |
$mode | 文件访问的形式(写 |
$include_path | (可选)从指定目录开始寻找文件所在位置 |
$context | 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 |
注意:
- 当文件的前缀是ftp://即文件服务器时 该函数将会建立一个连接到指定服务器的被动模式。并返回一个指向文件开始位置的指针
- 当文件前缀是http://时,会建立一个到指定服务器的http连接,返回一个纸箱http响应的指针
- 在Linux时执行文件操作要注意服务器的权限配置。
操作符 | 模式名称 | 意义 |
---|---|---|
r | 读模式 | 打开文件从头开始 |
r+ | 读写模式 | 打开文件,从文件头开始读写 |
w | 只写模式 | 打开文件,从文件头开始读写。如文件存在,清空文件内容,如不存在则穿件文件 |
w+ | 读写模式 | 同上 |
x | 谨慎写 | 如果文件存在则返回false |
x+ | 谨慎写 | 以读写方式打开文件,如果文件存在则返回false |
a | 追加 | 在文件末尾进行写操作 |
a+ | 追加 | 在文件末尾进行读写操作 |
写文件操作
A. 需要调用 fopen()
函数
1.`fwrite()` 描述 `int fwrite ( resource $handle , string $string [, int $length ] )` $string 写入的字符 $length 限制写入的长度
B . 不需要调用fopen()
函数
1. file_put_contents() 描述 file_put_contents(file,data,mode,context) 相当于一句话执行 fopen(),fwrite(),fclose()
关闭文件
fclose($fp) 如果成功返回true,反之false
读操作
$fp = fopen('./test.php','a')//以只读方式打开 flock($fp,LOCK_SH);//读操作锁定 while(!feof($fp)) { $order = fgets($fp); echo $order } fclose($fp)//关闭文件 # feof($fp) //检测文件是否读取到文件结束标志 //文件读写的几种操作 /*读取一行内的文字*/ # fgets($fp) //获取文件一行字符 # (更加安全的操作,过滤了php和html标签)fgetss($fp,10,'<a>')//三个参数 1.文件资源 2.限制每次获取的长度(如为0则不限制长度) 3.允许通过的标签 # fgetcsv($fp,0,"/t") 以"/t"为分隔符,分割我数组 /*读取整个文件*/ # (不需要fopen()操作) readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) //返回文件字符长度,!!!并且直接把内容输出到浏览器上 # fpassthru( resource $handle ) //返回boolean值 # file ( string $filename [, int $flags = 0 [, resource $context ]] )//把整个文件读入一个数组中,对每一行作为一个元素保存 /*读取一个字符*/ # fgetc() /*读取任意长度字符*/ # fread($fp,$legth)
其他文件函数
file_exists("路径"); //文件是否存在filesize("路径"); //文件大小unlink; //删除文件
文件锁
函数:`fclock($fp,’操作值’);//开启锁
操作值 | 意义 |
---|---|
LOCK_SH | 读操作锁定,可以共享,其他人可以读该文件 |
LOCK_EX | 写操作锁定,互斥锁 |
LOCK_UN | 释放已有的锁 |
LOCK_NB | 防止在请求枷锁时发生柱塞 |
虽说这是很基础的东西,惭愧的是我却对此并不是很了解。所以借此温故了一下
文件进行写操作的步骤
打开这个文件。如果文件不存在,那么创建它。
创建文件锁,防止并发
将这些数据写入这个文件
释放锁,并且关闭文件句柄
文件进行读操作的步骤
打开这个文件,如果不能打开就退出
从文件中读取数据
关闭这个文件
打开文件操作
fopen($filename,$mode,$include_path,$context)
打开失败返回false 打开成功则返回资源对象。
属性名称 | 作用 |
---|---|
$filename | 文件的路径(文件路径的间隔符用‘/’来表示,用’\’可能会导致linux不识别) |
$mode | 文件访问的形式(写 |
$include_path | (可选)从指定目录开始寻找文件所在位置 |
$context | 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 |
注意:
- 当文件的前缀是ftp://即文件服务器时 该函数将会建立一个连接到指定服务器的被动模式。并返回一个指向文件开始位置的指针
- 当文件前缀是http://时,会建立一个到指定服务器的http连接,返回一个纸箱http响应的指针
- 在Linux时执行文件操作要注意服务器的权限配置。
操作符 | 模式名称 | 意义 |
---|---|---|
r | 读模式 | 打开文件从头开始 |
r+ | 读写模式 | 打开文件,从文件头开始读写 |
w | 只写模式 | 打开文件,从文件头开始读写。如文件存在,清空文件内容,如不存在则穿件文件 |
w+ | 读写模式 | 同上 |
x | 谨慎写 | 如果文件存在则返回false |
x+ | 谨慎写 | 以读写方式打开文件,如果文件存在则返回false |
a | 追加 | 在文件末尾进行写操作 |
a+ | 追加 | 在文件末尾进行读写操作 |
写文件操作
A. 需要调用 fopen()
函数
1.`fwrite()` 描述 `int fwrite ( resource $handle , string $string [, int $length ] )` $string 写入的字符 $length 限制写入的长度
B . 不需要调用fopen()
函数
1. file_put_contents() 描述 file_put_contents(file,data,mode,context) 相当于一句话执行 fopen(),fwrite(),fclose()
关闭文件
fclose($fp) 如果成功返回true,反之false
读操作
$fp = fopen('./test.php','a')//以只读方式打开 flock($fp,LOCK_SH);//读操作锁定 while(!feof($fp)) { $order = fgets($fp); echo $order } fclose($fp)//关闭文件 # feof($fp) //检测文件是否读取到文件结束标志 //文件读写的几种操作 /*读取一行内的文字*/ # fgets($fp) //获取文件一行字符 # (更加安全的操作,过滤了php和html标签)fgetss($fp,10,'<a>')//三个参数 1.文件资源 2.限制每次获取的长度(如为0则不限制长度) 3.允许通过的标签 # fgetcsv($fp,0,"/t") 以"/t"为分隔符,分割我数组 /*读取整个文件*/ # (不需要fopen()操作) readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] ) //返回文件字符长度,!!!并且直接把内容输出到浏览器上 # fpassthru( resource $handle ) //返回boolean值 # file ( string $filename [, int $flags = 0 [, resource $context ]] )//把整个文件读入一个数组中,对每一行作为一个元素保存 /*读取一个字符*/ # fgetc() /*读取任意长度字符*/ # fread($fp,$legth)
其他文件函数
file_exists("路径"); //文件是否存在filesize("路径"); //文件大小unlink; //删除文件
文件锁
函数:`fclock($fp,’操作值’);//开启锁
操作值 | 意义 |
---|---|
LOCK_SH | 读操作锁定,可以共享,其他人可以读该文件 |
LOCK_EX | 写操作锁定,互斥锁 |
LOCK_UN | 释放已有的锁 |
LOCK_NB | 防止在请求枷锁时发生柱塞 |
Atas ialah kandungan terperinci php 文件的操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.
