PHP Tutorial : Opérations d’annuaire PHP et les opérations sur les fichiers

Source : Internet
Auteur : utilisateur

Tout d’abord, Introduction

Dans n’importe quel périphérique d’ordinateur, le fichier est un objet nécessaire et en programmation Web, l’exploitation du fichier a été un casse-tête pour les programmeurs web, et le fonctionnement du fichier dans le système CMS c’est nécessaire, que très utile, nous rencontrons souvent la génération des répertoires de fichiers, de modification du fichier (dossier) et d’autres opérations, Maintenant, j’ai fais un résumé détaillé de ces fonctions en PHP et une démonstration de l’exemple de la façon de les utiliser. pour une description détaillée de la fonction correspondante, consult the PHP manual. ici est un résumé de la mise au point. et lieux à connaître. (Ce n’est pas dans le manuel PHP).

Fonctionnement du catalogue II.

La première consiste à introduire une fonction lecture du répertoire, Opendir () () Readdir, Closedir (), lorsqu’il est utilisé est d’ouvrir d’abord le handle de fichier et puis l’itération est répertoriée :

≪ ? Php
$Base _dir = « liste des fichiers / » ;
$Fso = Opendir (_dir $base) ;
Echo $base _dir. » (A) « ;
Tandis que ($flist = readdir ($FSO)) {}
Echo $flist. » (A) « ;
}
Closedir ($FSO)
? ≫

C’est le programme qui retourne le répertoire de fichiers sous le répertoire de fichiers (0 fichiers retournera la valeur false).

Parfois, vous devez connaître les informations d’annuaire, vous pouvez utiliser DirName ($path) et basename ($path), respectivement, pour retourner la partie répertoire du chemin et la partie de nom de nom de fichier, peut être utilisé Disk_free_space ($path) retourner pour voir l’espace à libérer de l’espace.

Pour créer une commande :

Mkdir ($path, 0777)

, 0777 est un code d’autorisation et les paramètres de fonction () Umask sont disponibles sous les fenêtres

RmDir ($path)

Le chemin vers le fichier $path sera supprimé.

Dir-annuaire classe est également une importante classe pour manipuler des répertoires de fichiers, avec 3 méthodes, lisez, revenir en arrière, fermer, qui est une classe orientée objet qui utilise tout d’abord pour ouvrir un handle de fichier et ensuite le lire comme un pointeur. ici, regardez le manuel PHP :

≪ ? Php
$D = Dir (« / etc/php5 ») ;
Echo « gérer : ». $D -> manche. « N » ;
Echo « chemin d’accès : ». $D -> chemin d’accès. « N » ;
Tandis que (false ! == ($entry = $d -> read ()) {}
Echo $entry. » N « ;
}
$D -> close () ;
? ≫

Sortie :

Poignée : resource ID #2
Chemin : / ETC/PHP5
.
..
Apache
CGI
Cli

Les propriétés du fichier sont également très importantes, y compris le moment de la création, la dernière date de modification, le propriétaire, le groupe de fichiers, le type, la taille et ainsi de suite.

Ici, nous nous concentrons sur l’opération de fichier.

Opération de fichier III.

A, lire le fichier

Le premier est un fichier pour voir si vous pouvez lire (problèmes d’autorisation), ou s’il n’y a pas, nous pouvons utiliser la fonction Is_readable pour obtenir des informations.

≪ ? Php
$File = « dirlist.php » ;
Si (is_readable ($file) == false) {}
Die (« fichier n’existe pas ou ne peuvent pas être lus ») ;
} Else {}
Echo « existence » ;
}
? ≫

La fonction qui détermine l’existence d’un fichier est également file_exists (ci-dessous), mais ce n’est évidemment pas is_readable globale. lorsqu’un fichier existant, vous pouvez utiliser le

≪ ? Php
$File = « filelist.php » ;
Si (file_exists ($file) == false) {}
Die (« fichier n’existe pas ») ;
}
$Data = file_get_contents ($file) ;
Echo htmlentities ($data) ;
? ≫

Cependant, la fonction file_get_contents n’est pas pris en charge sur la version inférieure, vous pouvez tout d’abord créer un handle vers le fichier et puis lire avec le pointeur :

$Fso = fopen ($cacheFile, « R ») ;
$Data = Fread ($fso, taille du fichier ($cacheFile)) ;
Fclose ($FSO) ;

Il est aussi un moyen de lire des fichiers binaires :

$Data = implode («, fichier ($file)) ;

B. écrire un fichier

Et lire le fichier de la même manière, tout d’abord voir si elle peut être écrite :

≪ ? Php
$File = « dirlist.php » ;
Si (is_writable ($file) == false) {}
Die (« je suis poulet cheveux, je ne peux pas ») ;
}
? ≫

Si vous pouvez l’écrire, vous pouvez écrire à l’aide de la fonction File_put_contents :

≪ ? Php
$File = « dirlist.php » ;
Si (is_writable ($file) == false) {}
Die (« je suis poulet cheveux, je ne peux pas ») ;
}
$Data = « Je suis méprisable, je veux » ;
File_put_contents ($file, $data) ;
? ≫

La fonction File_put_contents dans php5 nouvellement introduit fonction (ne sais pas si il y a une fonction function_exists pour juger tout d’abord) la version inférieure de PHP n’est pas disponible, vous pouvez utiliser les méthodes suivantes :

$F = fopen ($file, « w ») ;
Fwrite ($f, $data) ;
Fclose ($f) ;

Le remplacer.

Parfois, vous avez besoin de verrouiller un fichier lorsque vous l’écrire et puis écrire :

Fonction Cache_page ($pageurl, $pagedata) {}
Si ( ! $fso = fopen ($pageurl, « W ») {}
$This -> avertit (« impossible d’ouvrir le fichier cache. »)  ;/ / Trigger_error
Retourne la valeur false ;
}
Si ( ! troupeau ($fso, lock_ex) {/ / lock_nb, verrouillage de ligne
$This -> avertit (« impossible de verrouiller les fichiers mis en cache. »)  ;/ / Trigger_error
Retourne la valeur false ;
}
Si ( ! fwrite ($fso, $pagedata) {//write octets de limitation, Serialize écrit vers d’autres formats
$This -> avertit (« impossible d’écrire dans le cache de fichier... »)  ;/ / Trigger_error
Retourne la valeur false ;
}
Troupeau ($fso, Lock_un) ; //release serrure
Fclose ($FSO) ;
Retourne la valeur true ;
}

C, copier, supprimer des fichiers

PHP pour supprimer des fichiers est très facile, avec l’opération simple de fonction de rompre le lien :

≪ ? Php
$File = « dirlist.php » ;
$Result = @unlink ($file) ;
Si ($result == false) {}
Echo « les moustiques s’est débarrassés de » ;
} Else {}
ECHO « ne peut pas s’en tirer » ;
}
? ≫

Can.

Il est également facile de copier les fichiers :

≪ ? Php
$File = « yang.txt » ;
$Newfile = « ji.txt » ; # Ce fichier dossier parent doit être capable d’écrire
Si (file_exists ($file) == false) {}
Die (' échantillon n’est pas sur la ligne, ne peut pas être copié ") ;
}
$Result = copy ($file, $newfile) ;
Si ($result == false) {}
Echo « Copie mémoire OK » ;
}
? ≫

Vous pouvez renommer un dossier en utilisant le changement de nom de () fonction. toutes les autres opérations sont réalisables en combinant ces fonctions.

D, les propriétés de fichier get

J’ai dis quelques fonctions courantes :

Obtenez la plus récente date de modification :

≪ ? Php
$File = « test.txt » ;
Echo Date (« R », Filemtime ($file)) ;
? ≫

Retourne un timestamp qui dit Unix, ce qui est couramment utilisé dans les techniques de mise en cache.

Liées à l’obtention de la dernière fois accédé Fileatime (), Filectime () lorsque les autorisations du fichier, propriétaire, les métadonnées de tous les groupes ou autre inode sont mises à jour, Fileowner () la fonction retourne le propriétaire du fichier

$Owner = Posix_getpwuid (Fileowner ($file)) ;

(Non-Window-System), Ileperms () obtient les autorisations pour le fichier,

≪ ? Php
$File = « dirlist.php » ;
$Perms = substr (sprintf (« %o », Fileperms ($file)), -4) ;
Echo $perms ;
? ≫

Taille du fichier () retourne le nombre d’octets de la taille du fichier :

≪ ? Php

Sortie analogue : somefile.txt:1024 octets

$Filename = « un_fichier.txt » ;
Echo $filename. ': ' . FileSize ($filename). « Octets » ;

? ≫

Obtient toutes les informations sur le fichier il y a une fonction de stat () fonction qui retourne le tableau :

≪ ? Php
$File = « dirlist.php » ;
$Perms = stat ($file) ;
Var_dump ($perms) ;
? ≫

Cette clé correspond à ce qui peut être trouvé dans les détails, qui n’est n’est plus développée ici.

IV. remarques finales

Ci-dessus j’ai brièvement résumer quelques opérations de fichier, si vous êtes compétent dans les fonctions énumérées ci-dessus, il y a pas de grand problème dans l’opération, l’opération de fichier PHP fonction changements relativement rapidement, est maintenant très puissant, le fichier cette partie est également un élément très important d’apprendre le PHP, j’espère ne pas ignorer.



Nous contacter

Le contenu de cette page provient d'Internet et ne reflète pas l'opinion d'Alibaba Cloud ; les produits et services mentionnés sur cette page n'ont aucune relation avec Alibaba Cloud. Si le contenu de la page vous semble problématique, veuillez nous écrire un courriel, nous traiterons le problème dans les 5 jours suivant la réception de votre message.

Si vous constatez des cas de plagiat de la part de la communauté, veuillez envoyer un courriel à : info-contact@alibabacloud.com et fournir des preuves pertinentes. Un membre de notre équipe vous contactera dans les 5 jours ouvrables.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.