Gestion des dossiers et des fichiers en php

1 – Gestion des fichiers avec php

Depuis sa version 4 php offre à son utilisateur la possibilité de manipuler des objets : comme création, suppression, écriture dans des fichiers, modification des images … Les principales fonctions qui manipulent les fichiers en php sont :

touch() 

La fonction touch permet de créer des fichiers sa syntaxe est :

Touch(‘$nom_fichier’) ; 

où $nom_fichier désigne le nom du fichier à créer y compris le chemin.

Exemple :

< ?php
touch('c: \ test.doc');
?>

C’est un exemple permet la création d’un document Word à la racine du disque dur C:\   nommé test.doc

Unlink() : La fonction unlink est utilisée en php pour supprimer un fichier qui existe déjà sa syntaxe est :  unlink(‘$nom_fichier’) ;

Exemple :

<?php

unlink('c:\test.doc');

?>

C’est un exemple qui permet la suppression du document Word test.doc que nous venons de créer à l’aide de l’exemple précédent.

fopen()

La fonction fopen permet l’ouverture des fichiers sa syntaxe est :

$fichier = fopen(‘$nom_fichier’, ‘mode de l’ouverture’) ;

Les mode d’ouverture sont :
r : mode lecture seule
r+ : mode lecture et écriture
a : mode lecture seule et place le curseur à la fin du fichier
a+ : mode lecture et écriture et place le curseur à la fin du fichier
w : mode écriture seulement et la fonction crée le fichier s’il n’existe pas
w+ : mode lecture et écriture et la fonction crée le fichier s’il n’existe pas

fputs()
La fonction fputs permet d’écrire sur des fichiers sa syntaxe est :

fputs($fichier,″le texte que vous sohaitez mettre sur le fichier ″) ;

Exemple :

<?php

$fp=fopen('c:\test.doc','a+');

fputs($fp,"voila que finalement j'arrive à écrire sur un fichier à l'aide de php");

?>

rename()

La fonction permet de renommer un fichier existant sa syntaxe est :

rename($ancien,$nouveau);

copy()

Cette function permet de copier un fichier. Sa syntaxe est :

copy($source , $destination) ;

read()

Cette fonction permet de lire un fichier existant

Exemple :

<?php
    
readfile('c:\test.doc');
    
?>

file_exists()
    Cette fonction permet de tester si le fichier existe ou non

Exemple :

<?php
    if(file_exists('c:\test.doc'))
    echo"le fichier existe";
    else
    echo"le fichier n'existe pas";
    ?>

file_type()
Cette fonction détermine le type de fichier. Sa syntaxe est :

file_type($fichier) ;

file_size( )

Cette fonction renvoie la taille du fichier. Sa syntaxe est :

  file_size($fichier) ;

 fgetc()
  Cette fonction permet de lire un fichier caractère par caractère

Exemple :

voici un exemple qui permet de lire le premier caractère d’un fichier nommé fichier.txt

<?php
   
$fp = fopen('fichier.txt', 'r'); //Ouvre le fichier en lecture seule.
     
$caract1 = fgetc($fp); //$caract1 prend comme valeur le premier caractère du fichier
     
$caract2 = fgetc($fp); //$caract2 prend comme valeur le 2ème caractère du fichier.
  
fclose($fp); 
   
?>

feof()

Cette fonction permet de savoir si la fin du fichier est atteint ou non, nous allons voir comment peut on utiliser cette fonction pour lire la totalité d’un fichier.

Exemple :

<?php
    
$fp=fopen("fichier.txt","r");
    
$caract=' ';
    
while(!feof($fp)){
    
$caract .=fgetc($fp);
    
}
    
echo $caract;
    
fclose($fp);
    
?>

voici un exemple qui combine entre fgetc() et feof () pour lire un fichier totalement

fgets()
    Cette fonction permet de lire un fichier ligne par ligne

Exemple :

Voici un exemple permetttant d’afficher la première ligne d’un fichier

<?php
    
$fp=fopen("fichier.txt" , "r");
    
$ligne=fgets($fp);
    
echo $ligne;
    
fclose($fp);
    
?>

Exemple :

Voici un exemple qui combine entre feof() et fgets() pour lire un fichier en entier

<?php
    
$fp=fopen("test.txt" , "r");
    
$contenu=' ';
    
while(!feof($fp)){
    
$contenu =fgets($fp);
    
echo $contenu;
    
echo'<br>';
    
}
    
fclose($fp);
    
?> 

2 – Gestion des dossiers avec php

2 – 1   Création d’un dossier avec php

Pour créer un dossier on utilise l’instruction mkdir dont la sytaxe est la suivante :

mkdir(‘nom_du_dossier’ , ‘droit d’acées’)

Exemple :

Pour créer un dossier nommé new au sein du dossier www de wamp on utilise le code :

<?php

mkdir('new');

?>

Puis on enregistre le fichier à la racine du serveur ( ie dans le dossier www/ ). On tape ensuite son adresse url.

2 – 2   Lecture du contenu d’un dossier avec php

Pour lire le contenu d’un dossier on doit d’abord l’ouvrir avec l’instruction opendir( ) et le lire ensuite avec l’instruction readdir( )

Exemple :

Pour lire le contenu d’un dossier nvd qui se trouve à l’intérieur du dossier www on doit créer un fichier php à la racine du serveur on le nomme readdir.php par exemple et dont le code :

<?php

$open=opendir('nvd');

while($res=readdir($open)){

echo"$res<br />";

}

?>

Exemple :

Pour lire le contenu du dossier parent on utilise la commande $open=opendir(..)Par exemple si le fichier qui contient le code d’ouverture $open=opendir(..)se trouve à la racine du serveur wamp, le résultat retourné en tapant l’adresse url de ce fichier est :.

Apache2

barimage.bmp

images_off.bmp

images_on.bmp

install_mysql_service.bat

install_services.bat

install_services_auto.bat

lang

launch_wampserver.bat

license.txt

logs

mysql

php

phpmyadmin

scripts

sqlitemanager

tmp

unins000.dat

unins000.exe

uninstall_services.bat

wamp5.chm

wampmanager.conf

wampmanager.exe

wampmanager.ini

wampmanager.tpl

wampserver.ico

www

Suppression d’un répertoire

Pour supprimer un répertoire on utilise l’instruction rmdir(‘ nom_du dossier ‘ ).