Maison  >  Article  >  développement back-end  >  opérations sur les fichiers php

opérations sur les fichiers php

不言
不言original
2018-04-19 11:47:334282parcourir

Le contenu présenté dans cet article concerne le fonctionnement des fichiers php. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Bien que ce soit une chose très basique. , j'ai honte. C'est moi mais je n'y connais pas grand chose. J'en ai donc profité pour revoir les

étapes d'écriture d'un fichier

  1. Ouvrir ce fichier. Si le fichier n'existe pas, créez-le.

  2. Créer un verrou de fichier pour empêcher la concurrence

  3. Écrire ces données dans ce fichier

  4. Libérer verrouiller et fermer le handle du fichier

Étapes de lecture du fichier

  1. Ouvrez ce fichier, s'il ne peut pas être ouvert, quittez

  2. Lire les données du fichier

  3. Fermer ce fichier

Opération d'ouverture de fichier

fopen($filename,$mode,$include_path,$context)

Renvoie false si l'ouverture échoue et renvoie l'objet ressource si l'ouverture est réussie.

属性名称 作用
$filename 文件的路径(文件路径的间隔符用‘/’来表示,用’’可能会导致linux不识别)
$mode 文件访问的形式(写
$include_path (可选)从指定目录开始寻找文件所在位置
$context 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。

Remarque :
- Lorsque le préfixe du fichier est ftp://, qui est le serveur de fichiers, cette fonction établira un mode passif pour se connecter au serveur spécifié. Et renvoie un pointeur vers le début du fichier
- Lorsque le préfixe du fichier est http://, une connexion http vers le serveur spécifié sera établie, et un pointeur vers la réponse http en carton sera renvoyé
- Effectuer des opérations sur les fichiers sous Linux Faites attention à la configuration des autorisations du serveur.

操作符 模式名称 意义
r 读模式 打开文件从头开始
r+ 读写模式 打开文件,从文件头开始读写
w 只写模式 打开文件,从文件头开始读写。如文件存在,清空文件内容,如不存在则穿件文件
w+ 读写模式 同上
x 谨慎写 如果文件存在则返回false
x+ 谨慎写 以读写方式打开文件,如果文件存在则返回false
a 追加 在文件末尾进行写操作
a+ 追加 在文件末尾进行读写操作

Opération d'écriture de fichier

A. Besoin d'appeler la fopen() fonction

1.`fwrite()`

描述 `int fwrite ( resource $handle , string $string [, int $length ] )`
$string   写入的字符  
$length   限制写入的长度

B. 🎜> fopen()Fermer le fichier

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

Opération de lecture

fclose($fp)

如果成功返回true,反之false

Autres fonctions de fichier

$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)

Verrouillage de fichier

file_exists("路径");   //文件是否存在filesize("路径"); //文件大小unlink;     //删除文件
Fonction : ` fclock( $fp,'operation value');//Open lock

Bien que ce soit une chose très basique, j'ai honte de ne pas en savoir grand-chose. J'en ai donc profité pour revoir les

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

Ouvrir ce fichier. Si le fichier n'existe pas, créez-le.
  1. Créer un verrou de fichier pour empêcher la concurrence
  2. Écrire ces données dans ce fichier
  3. Libérer verrouiller et fermer le handle du fichier
  4. Étapes de lecture du fichier

Ouvrez ce fichier, s'il ne peut pas être ouvert, quittez
  1. Lire les données du fichier
  2. Fermer ce fichier
  3. Opération d'ouverture de fichier

Renvoie false si l'ouverture échoue et renvoie l'objet ressource si l'ouverture est réussie. fopen($filename,$mode,$include_path,$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(&#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)

其他文件函数

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

文件锁

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

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

php的命名空间和自动加载


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn