Jadual Kandungan
文件进行写操作的步骤
文件进行读操作的步骤
打开文件操作
写文件操作
关闭文件
读操作
其他文件函数
文件锁

php 文件的操作

Apr 19, 2018 am 11:47 AM
php beroperasi dokumen

这篇文章介绍的内容是关于php 文件的操作 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

虽说这是很基础的东西,惭愧的是我却对此并不是很了解。所以借此温故了一下

文件进行写操作的步骤

  1. 打开这个文件。如果文件不存在,那么创建它。

  2. 创建文件锁,防止并发

  3. 将这些数据写入这个文件

  4. 释放锁,并且关闭文件句柄

文件进行读操作的步骤

  1. 打开这个文件,如果不能打开就退出

  2. 从文件中读取数据

  3. 关闭这个文件

打开文件操作

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   限制写入的长度
Salin selepas log masuk
Salin selepas log masuk

B . 不需要调用fopen()函数

1. file_put_contents()
描述 file_put_contents(file,data,mode,context)
相当于一句话执行
fopen(),fwrite(),fclose()
Salin selepas log masuk
Salin selepas log masuk

关闭文件

fclose($fp)

如果成功返回true,反之false
Salin selepas log masuk
Salin selepas log masuk

读操作

$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,&#39;<a>&#39;)//三个参数 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)
Salin selepas log masuk
Salin selepas log masuk

其他文件函数

file_exists("路径");   //文件是否存在filesize("路径"); //文件大小unlink;     //删除文件
Salin selepas log masuk
Salin selepas log masuk

文件锁

函数:`fclock($fp,’操作值’);//开启锁

操作值意义
LOCK_SH读操作锁定,可以共享,其他人可以读该文件
LOCK_EX写操作锁定,互斥锁
LOCK_UN释放已有的锁
LOCK_NB防止在请求枷锁时发生柱塞

虽说这是很基础的东西,惭愧的是我却对此并不是很了解。所以借此温故了一下

文件进行写操作的步骤

  1. 打开这个文件。如果文件不存在,那么创建它。

  2. 创建文件锁,防止并发

  3. 将这些数据写入这个文件

  4. 释放锁,并且关闭文件句柄

文件进行读操作的步骤

  1. 打开这个文件,如果不能打开就退出

  2. 从文件中读取数据

  3. 关闭这个文件

打开文件操作

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   限制写入的长度
Salin selepas log masuk
Salin selepas log masuk

B . 不需要调用fopen()函数

1. file_put_contents()
描述 file_put_contents(file,data,mode,context)
相当于一句话执行
fopen(),fwrite(),fclose()
Salin selepas log masuk
Salin selepas log masuk

关闭文件

fclose($fp)

如果成功返回true,反之false
Salin selepas log masuk
Salin selepas log masuk

读操作

$fp = fopen(&#39;./test.php&#39;,&#39;a&#39;)//以只读方式打开
flock($fp,LOCK_SH);//读操作锁定
while(!feof($fp))
{
    $order = fgets($fp);
    echo $order
}
fclose($fp)//关闭文件
# feof($fp) //检测文件是否读取到文件结束标志
//文件读写的几种操作
/*读取一行内的文字*/
# fgets($fp)  //获取文件一行字符
# (更加安全的操作,过滤了php和html标签)fgetss($fp,10,&#39;<a>&#39;)//三个参数 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)
Salin selepas log masuk
Salin selepas log masuk

其他文件函数

file_exists("路径");   //文件是否存在filesize("路径"); //文件大小unlink;     //删除文件
Salin selepas log masuk
Salin selepas log masuk

文件锁

函数:`fclock($fp,’操作值’);//开启锁

操作值 意义
LOCK_SH 读操作锁定,可以共享,其他人可以读该文件
LOCK_EX 写操作锁定,互斥锁
LOCK_UN 释放已有的锁
LOCK_NB 防止在请求枷锁时发生柱塞
相关推荐:

php的命名空间和自动加载


Atas ialah kandungan terperinci php 文件的操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

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

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

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

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

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

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

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

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

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

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

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

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

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 Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles