Rumah > pembangunan bahagian belakang > tutorial php > PHP文件处理的高级应用—远程文件访问及锁定文件

PHP文件处理的高级应用—远程文件访问及锁定文件

黄舟
Lepaskan: 2023-03-07 13:48:01
asal
2544 orang telah melayarinya

PHP文件处理的高级应用—远程文件访问及锁定文件

在PHP中,除了可以对文件进行基本的读写操作外,还可以对文件指针进行查找,定位,以及对正在读取的文件进行锁定等。

前面的几篇文章《PHP文件处理—打开/关闭文件》,《PHP文件处理—读取文件(一个字符,字串)》,《PHP文件处理—如何读取文件》以及《PHP文件处理—写入文件及操作文件》中介绍了文件处理基本的读写操作,本节将进一步学习文件处理的高级技术。

一:远程文件的访问

PHP 支持URL格式的文件调用,只要在 php.ini中设置一下就可以了,php.ini 中找到allow_url_fopen,将该选项设为ON。重启服务器后就可以使用 HTTP或者FTP的URL格式了,

比如:

fopen("http://http://127.0.0.1/php/1.php","rb");
Salin selepas log masuk

二:锁定文件

在向一个文本文件写入内容的时候,需要先锁定该文件,以防止其他用户同事修改此文件的内容,在PHP中锁定文件的函数为 flock(),该函数的语法格式如下:

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )
Salin selepas log masuk
参数值说明
LOCK_SH取得共享锁定(读取文件)
LOCK_EX取得独占锁定(写入文件)
LOCK_UN释放锁定
LOCK_NB防止 flock()在锁定时堵塞

在下面的实例中 使用 flock()函数锁定文件,然后在写入数据,最后解除锁定,关闭文件,具体示例代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$filename = "tm.txt";        //声明要打开的文件名称
$fd = fopen($filename,"w");   //以w 模式打开文件
flock($fd,LOCK_EX);          //锁定文件(独占共享)
fwrite($fd,"我爱PHP中文网 www.php.cn");      //向文件中写入数据
flock($fd,LOCK_UN);          //解除文件
fclose($fd);                 //关闭文件指针
readfile($filename);         //输出文件内容
?>
Salin selepas log masuk

输出结果为:

26.png

说明:

在向文件写入数据的时候,使用 W 或者 w+ 模式打开文件,这个时候如果使用了 LOCK_EX,那么同一时间访问此文件的其他用户就无法获得文件的大小,不能进行操作!

下一篇我们将继续介绍文件处理的高级应用的文件指针,具体请阅读《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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan