Introduction à la programmation de fichiers PHP
Cet article présente principalement l'introduction à la programmation de 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
1 Obtenez des informations sur le fichier
. 1.1 La première façon (fopen, fstat, file_exists)
<?php $file_full_path = './test.txt'; if(file_exists($file_full_path)){ // 检查文件或目录是否存在,存在则返回 TRUE,否则返回 FALSE $fp = fopen($file_full_path, 'r'); // 打开文件或url,成功时返回文件指针资源,如果打开失败,本函数返回 FALSE。 $fileinfo_arr = fstat($fp); // 通过已打开的文件指针取得文件信息,返回一个数组具有该文件的统计信息 echo '<pre class="brush:php;toolbar:false">'; var_dump($fileinfo_arr); echo '文件的大小是:' . $fileinfo_arr['size'] . '个字节'; echo '文件的创建时间是:' . date('Y-m-d H:i:s', $fileinfo_arr['ctime']); echo '文件的访问时间是:' . date('Y-m-d H:i:s', $fileinfo_arr['atime']); echo '文件的修改时间是:' . date('Y-m-d H:i:s', $fileinfo_arr['mtime']); }else{ echo '文件不存在'; }
1.2 La deuxième façon
<?php $file_full_path = './test.txt'; if(file_exists($file_full_path)){ echo '文件的大小是:' . filesize($file_full_path); echo '文件的类型是:' . filetype($file_full_path); echo '文件的创建时间是:' . date('Y-m-d H:i:s', filectime($file_full_path)); echo '文件的访问时间是:' . date('Y-m-d H:i:s', fileatime($file_full_path)); echo '文件的修改时间是:' . date('Y-m-d H:i:s', filemtime($file_full_path)); }else{ echo '文件不存在'; }
2 Lire le contenu du fichier
2.1 La première méthode Méthode, fread
<?php $file_full_path = './test.txt'; if(file_exists($file_full_path)){ // 1、打开文件 $fp = fopen($file_full_path, 'r'); // 2、获取文件的大小 $file_size = filesize($file_full_path); // 3、读取内容 $con_str = fread($fp, $file_size); // 返回所读取的字符串, 或者在失败时返回 FALSE。 fclose($fp); // 替换换行符 $con_str = str_replace("\r\n", '<br>', $con_str); $con_str = str_replace("\n", '<br>', $con_str); // 替换 tab $con_str = str_replace(" ", " ", $con_str); echo $con_str; }else{ echo '文件不存在'; }
2.2 Deuxième méthode, feof
<?php $file_full_path = './test.txt'; if(file_exists($file_full_path)){ $fp = fopen($file_full_path, 'r'); // 设置缓冲 $buffer = ''; $buffer_size = 1024; $con_str = ''; while(!feof($fp)){ // 测试文件指针是否到了文件结束的位置,到达返回true,否则返回false $buffer = fread($fp, $buffer_size); $con_str .= $buffer; } // 关闭文件 fclose($fp); $con_str = str_replace("\r\n", '<br>', $con_str); $con_str = str_replace("\n", '<br>', $con_str); $con_str = str_replace(" ", ' ', $con_str); echo $con_str; }else{ echo '文件不存在'; }
2.3 Troisième méthode, file_get_contents
<?php $file_full_path = './test.txt'; if(file_exists($file_full_path)){ $con_str = file_get_contents($file_full_path); // 将整个文件读入一个字符串 $con_str = str_replace("\r\n", '<br>', $con_str); $con_str = str_replace("\n", '<br>', $con_str); $con_str = str_replace(" ", ' ', $con_str); echo $con_str; }else{ echo '文件不存在'; }
3 Créez un fichier et écrivez Entrez le contenu
3.1 Cas 1
<?php $file_full_path = './test.txt'; if(!file_exists($file_full_path)){ if($fp = fopen($file_full_path, 'w')){ // 覆盖写入10句helloworld $con = ''; for($i=0; $i<10; $i++){ $con .= "HelloWorld\r\n"; } // 写入文件 fwrite($fp, $con); // fwrite() 返回写入的字符数,出现错误时则返回 FALSE 。 fclose($fp); }else{ echo '创建文件失败'; } }else{ echo '文件已经存在'; }
3.2 Cas 2, file_put_contents
<?php $file_full_path = './test.txt'; if(!file_exists($file_full_path)){ $con = ''; for($i=0; $i<10; $i++){ $con .= "helloworld\r\n"; } // 默认是覆盖写,可以追加FILE_APPEND参数,改为追加写。 file_put_contents($file_full_path, $con); // 和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。 }else{ echo '已经存在该文件'; }
4 Supprimer le fichier
<?php $file_full_path = './test.txt'; if(file_exists($file_full_path)){ if(unlink($file_full_path)){ echo '<br>删除成功'; }else{ echo '<br>删除失败'; } }else{ echo '文件不存在,无法删除'; }
5 Modifier le nom du fichier
<?php $file_full_path = './test.txt'; $file_new_full_path = './王八.txt'; $file_new_full_path = iconv('utf-8', 'gbk', $file_new_full_path); if(file_exists($file_full_path)){ if(rename($file_full_path, $file_new_full_path)){ // 重命名一个文件或目录 echo '改名成功!'; }else{ echo '改名失败!'; } }else{ echo '文件不存在'; }
6 Fonctionnement des répertoires de fichiers
6.1 Créer un répertoire de premier niveau
<?php $dir_full_path = './abc'; // 判断有没有该目录 if(!is_dir($dir_full_path)){ if(mkdir($dir_full_path)){ echo '创建目录成功!'; }else{ echo '创建目录失败!'; } }else{ echo '已经存在该目录,无法再次创建'; }
6.2 Créer un répertoire multi-niveaux
<?php $dir_full_path = './abc/edf/xyz'; if(!is_dir($dir_full_path)){ if(mkdir($dir_full_path, 0777, true)){ // true 表示递归创建 echo '创建目录成功'; }else{ echo '创建目录失败'; } }else{ echo '已经存在该目录,无法再次创建!'; }
6.3 Supprimer un répertoire ( Niveau 1)
<?php $dir_full_path = './abc'; if(is_dir($dir_full_path)){ if(rmdir($dir_full_path)){ echo '删除目录成功'; }else{ echo '删除目录失败'; } }else{ echo '不存在该文件夹'; }
7 Cas d'application de la programmation de fichiers
7.1 Comment copier une image
<?php $file_src_full_path = 'F:/壁纸.jpg'; $file_src_full_path = iconv('utf-8', 'gbk', $file_src_full_path); $file_des_full_path = 'D:/amp/WWW/萧山.jpg'; $file_des_full_path = iconv('utf-8', 'gbk', $file_des_full_path); if(file_exists($file_src_full_path)){ if(copy($file_src_full_path, $file_des_full_path)){ echo '拷贝成功'; }else{ echo '拷贝失败'; } }else{ echo '没有这个文件'; }
7.2 Parcourir un dossier et déterminer le dossier Le contenu suivant sont respectivement des répertoires et des fichiers
<?php $dir_full_path = 'D:/amp/WWW/'; if(is_dir($dir_full_path)){ $dir_handle = opendir($dir_full_path); // 如果成功则返回目录句柄的 resource,失败则返回 FALSE while(($file_name = readdir($dir_handle)) !== false){ // 成功则返回文件名 或者在失败时返回 FALSE if(is_dir($dir_full_path . $file_name)){ echo $file_name . '是目录<br>'; }else{ echo $file_name . '是文件<br>'; } } closedir($dir_handle); }else{ echo '不是目录,无法打开'; }
7.3 Écrire une fonction pour compter la taille de tous les fichiers d'un répertoire
<?php $dir_name = 'D:/amp/WWW'; function getDirSize($dir_name){ $dir_size = 0; $dir_handle = opendir($dir_name); while(($file_name = readdir($dir_handle)) !== false){ $file = $dir_name . '/' . $file_name; // 文件全名 if($file_name!=='.' && $file_name!=='..'){ if(is_dir($file)){ $dir_size += getDirSize($file); }else{ $dir_size += filesize($file); } } } closedir($dir_handle); return $dir_size; } echo getDirSize($dir_name);
<br/>
7.4 Supprimer un répertoire
<?php $dir_name = 'D:/amp/WWW/.idea'; function rrmdir($src){ $dir_handle = opendir($src); while(false !== ($file = readdir($dir_handle))){ if(($file != '.') && ($file != '..')){ $full = $src . '/' . $file; if(is_dir($full)){ rrmdir($full); }else{ unlink($full); } } } closedir($dir_handle); rmdir($src); } rrmdir($dir_name);
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Code php pour parcourir tous les fichiers et sous-fichiers d'un dossier
Fichiers et répertoire PHP opérations
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Alipay Php ...

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Comment déboguer le mode CLI dans phpstorm? Lors du développement avec PHPStorm, nous devons parfois déboguer PHP en mode interface de ligne de commande (CLI) ...

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...
