les fichiers

51
Tester un fichier Manipuler un fichier Manipuler un répertoire Les données disponibles Les fichiers On peut obtenir sur un fichier toutes les informations visibles dans une fenêtre Web de ce type : AULAS - 2007 Existence Accessibilité Taille Dates Type

Upload: ludlow

Post on 13-Jan-2016

64 views

Category:

Documents


12 download

DESCRIPTION

Les fichiers. Tester un fichier. Manipuler un fichier. Manipuler un répertoire. Existence. Type. Taille. Accessibilité. Dates. Les données disponibles. On peut obtenir sur un fichier toutes les informations visibles dans une fenêtre Web de ce type :. AULAS - 2007. Les fichiers. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Les données disponibles

Les fichiers

On peut obtenir sur un fichier toutes les informations visibles dans une fenêtre Web de ce type :

AULAS - 2007

Existence AccessibilitéTaille DatesType

Page 2: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Récapitulatif :

Les fichiers

AULAS - 2007

Existence AccessibilitéTaille DatesType

file_exists (nomFic) renvoie true si le fichier "nomFichier" existe

filetype (nomFic) renvoie le type du document

is_dir (nomFic)is_file (nomFic)

renvoie true si le document est un répertoirerenvoie true si le document est un fichier

filesize (nomFic) renvoie la taille du document en octets

is_readable (nomFic)is_writeable (nomFic)

renvoie true si le document est accessible en lecture (readable) et en écriture (writreable)

filectime (nomFic)filemtime (nomFic)

renvoie la date de création du documentrenvoie la date de modification du document

Page 3: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 1

Les fichiers

1. Ecrivez une fonction infoFichier qui, si le document existe, indique s'il s'agit d'un fichier et quelle est sa taille.

AULAS - 2007

Existence AccessibilitéTaille DatesType

Page 4: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 1

Les fichiers

1. Ecrivez une fonction infoFichier qui, si le document existe, indique s'il s'agit d'un fichier et quelle est sa taille.

function infoFichier ($fic) {

if (file_exists($fic)) {

if (is_file($fic))

print "<I>$fic</I> est un fichier.<BR>";

print "$fic pèse ".filesize($fic).".<BR>";

}

}

infoFichier("archi.txt");

AULAS - 2007

Existence AccessibilitéTaille DatesType

Page 5: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 1

Les fichiers

1. Ecrivez une fonction infoFichier qui, si le document existe, indique s'il s'agit d'un fichier et quelle est sa taille.

2. Complétez la fonction infoFichier pour qu'elle affiche la date de création du document.

AULAS - 2007

Existence AccessibilitéTaille DatesType

Page 6: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

La fonction date ("format", date_unix)

Les fichiers

Pour obtenir un affichage correct de la date de création d'un fichier, il faut recourir à la fonction date() qui transcrit dans le format que vous prescrivez le format d'origine epoch Unix.

Le format se défini par un ensemble de lettres qui permettent de spécifier l'affichage de telle ou telle partie de la date.

Le test suivant vous renvoie la date au format Unix:

print date ("U");

Ce test vous permet de d'avoir le jour, le mois, l'année, l'heure, les minutes et les secondes.

print date ("d m y H i s");

AULAS - 2007

Existence AccessibilitéTaille DatesType

Page 7: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 1

Les fichiers

2. Complétez la fonction infoFichier pour qu'elle affiche la date de création du document.

function infoFichier ($fic) {

if (file_exists($fic)) {

if (is_file($fic)) {

print "<I>$fic</I> est un fichier.<BR>";

print "$fic pèse ".filesize($fic).".<BR>";

}

}

}

infoFichier("archi.txt");

AULAS - 2007

Existence AccessibilitéTaille DatesType

Page 8: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 1

Les fichiers

2. Complétez la fonction infoFichier pour qu'elle affiche la date de création du document.

function infoFichier ($fic) {

if (file_exists($fic)) {

if (is_file($fic)) {

print "<I>$fic</I> est un fichier.<BR>";

print "$fic pèse ".filesize($fic).".<BR>";

print "$fic a été créé le ".date("d/m/y", filectime($fic)).".<BR>";

}

}

}

infoFichier("archi.txt"); AULAS - 2007

Existence AccessibilitéTaille DatesType

Page 9: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

include() et require()

Les fichiers

Les fonctions include ("nomFic") et require ("nomFic") permettent d'inclure le contenu d'un fichier nomFic dans le script courant.

Ex:

include ("archi.txt");

Les fonctions include_once ("nomFic") et require_once ("nomFic")

Permettent d'interdire une insertion redondante.

Ex:

for ($i=0; $i<5; $i++)

include_once ("archi.txt"); //archi.txt n'est inclu qu'une seule fois

AULAS - 2007

Ouvrir FermerLire et écrire

Page 10: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Procédure pour manipuler un fichier

Les fichiers

Quelque soit le type de langage, la manipulation d'un fichier passe toujours par les étapes suivantes :

1- Ouverture

2 - Lecture

3 - Copie des données

4 - Modification des données

5 - Ecriture

6 - Fermeture

Les nombreuses fonctions php permettent de sauter beaucoup de ces étapes.

AULAS - 2007

Ouvrir FermerLire et écrire

Page 11: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Ouvrir un fichier avec fopen ("nomFic.txt", mode)

Les fichiers

La fonction fopen () permet d'ouvrir un fichier dans différents modes :

- r pour lecture (read)

- w pour écriture (write)

- a pour ajout (add)

Cette fonction renvoie un pointeur par le biais duquel sera ensuite manipulé le fichier.

Ex :

$pFic = fopen ("nomFic.txt", 'r');

Attention: $pFic pointe vers le fichier mais ne le contient pas.

AULAS - 2007

Ouvrir FermerLire et écrire

Page 12: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Lire

Les fichiers

Il existe de nombreuses façons de lire le contenu d'un fichier :

- ligne par ligne avec fgets ($pFic[, longueur]);

- par bloc de caractères avec fread ($pFic, longueur);

- caractère par caractère avec fgetc ($pFic);

AULAS - 2007

Ouvrir FermerLire et écrire

Page 13: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Lire

Les fichiers

fgets ($pFic[, longueur]);

Si on ne mentionne pas la longueur, fgets lit tout jusqu'au prochain saut de ligne.

Ex:

$fic = "archi.txt";

$pFic = fopen ($fic, "r") or die ("Impossible d'ouvrir $fic");

while ($ligne = fgets ($pFic))

{

print "$ligne<BR>";

}

AULAS - 2007

Ouvrir FermerLire et écrire

Page 14: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Lire

Les fichiers

fread ($pFic, longueur);

fread() lit une longueur arbitraire, indépendamment des sauts de ligne.

Ex:

$fic = "archi.txt";

$pFic = fopen ($fic, "r") or die ("Impossible d'ouvrir $fic");

while ($ligne = fread ($pFic, 30)) // récupère des sections de 30 caractères

{

print "$ligne<BR>";

}

AULAS - 2007

Ouvrir FermerLire et écrire

Page 15: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Lire

Les fichiers

fgetc ($pFic);

fgetc renvoie un caractère à la fois.

Ex:

$fic = "archi.txt";

$pFic = fopen ($fic, "r") or die ("Impossible d'ouvrir $fic");

while (!feof($pFic))

{

$char = fgetc ($pFic);

print "$char<BR>"; // Le résultat s'appelle un acrostiche.

}

AULAS - 2007

Ouvrir FermerLire et écrire

Page 16: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Lire vite fait

Les fichiers

file (nomFichier)

La fonction file("nomFic") permet de charger le contenu de "nomFic" dans un tableau avec un élément par ligne. Charge à vous d'en afficher le contenu.

Ex:

$fic = "archi.txt";

$tableau = file($fic);

foreach($tableau as $valeur)

print "$valeur<BR>";

AULAS - 2007

Ouvrir FermerLire et écrire

Page 17: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Lire vite fait

Les fichiers

readfile (nomFichier)

readfile se charge de tout. Ouvrir nomFichier, le lire, le fermer et afficher le contenu.

Ex:

$fic = "archi.txt";

readfile ($fic);

AULAS - 2007

Ouvrir FermerLire et écrire

Page 18: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Lire vite fait

Les fichiers

explode ("délimiteur", chaîne_de_caractère)

explode permet de récupérer dans un tableau des sous-chaînes séparées par un délimiteur passé en argument.

Ex:

$fic = "archi.txt";

$tableau = file($fic);

foreach ($tableau as $valeur)

{

$sstableau = explode (" : ", $valeur);

foreach ($sstableau as $ssvaleur) {

print "$ssvaleur<BR>"; }

print "<BR>";

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 19: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Ecrire

Les fichiers

Pour écrire dans un fichier, il convient d'abord de l'ouvrir en mode écriture 'w' ou ajout 'a'.

Ex:

$fic = "archi.txt";

$pFic = fopen($fic, 'a');

Il existe deux fonctions identiques pour insérer du texte :

- fwrite ($pFic, "chaine"[, longueurMax])

- fputs ($pFic, "chaine"[, longueurMax])

AULAS - 2007

Ouvrir FermerLire et écrire

Page 20: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Fermer

Les fichiers

Quelque soit l'opération effectuée à l'intérieur d'un fichier, il convient de le refermer "après usage" à l'aide de la fonction fclose ($pFic)

Ex:

$fic = "archi.txt";

$pFic = fopen($fic, 'a');

// Ici je fais ce que je veux avec le fichier.

fclose ($pFic);

AULAS - 2007

Ouvrir FermerLire et écrire

Page 21: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

AULAS - 2007

Ouvrir FermerLire et écrire

Page 22: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

function afficher($fichier, $separateur){

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 23: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

function afficher($fichier, $separateur){

$tab = file($fichier);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 24: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

function afficher($fichier, $separateur){

$tab = file($fichier);

print "<TABLE BORDER=\"1\">";

print "</TABLE>";

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 25: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

function afficher($fichier, $separateur){

$tab = file($fichier);

print "<TABLE BORDER=\"1\">";

foreach ($tab as $val)

{

}

print "</TABLE>";

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 26: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

function afficher($fichier, $separateur){

$tab = file($fichier);

print "<TABLE BORDER=\"1\">";

foreach ($tab as $val)

{

print "<TR>";

}

print "</TABLE>";

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 27: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

function afficher($fichier, $separateur){

$tab = file($fichier);

print "<TABLE BORDER=\"1\">";

foreach ($tab as $val)

{

print "<TR>";

$sstab = explode($separateur, $val);

}

print "</TABLE>";

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 28: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

function afficher($fichier, $separateur){

$tab = file($fichier);

print "<TABLE BORDER=\"1\">";

foreach ($tab as $val)

{

print "<TR>";

$sstab = explode($separateur, $val);

foreach ($sstab as $ssval) {

print "<TD>$ssval"; }

}

print "</TABLE>";

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 29: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Créez une fonction afficher(nomFichier, separateur) qui affiche le contenu de archi.txt dans un tableau et appelez-la à l'intérieur de votre code HTML.

<HTML>

<BODY>

<?php afficher("archi.txt", " : ") ?>

</BODY>

</HTML>

AULAS - 2007

Ouvrir FermerLire et écrire

Page 30: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Ajoutez maintenant un formulaire qui permette d'insérer des données dans archi.txt (en respectant son format). Commencez par rédiger le formulaire HTML. Ne vous occupez du code php que dans un second temps.

AULAS - 2007

Ouvrir FermerLire et écrire

Page 31: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Ajoutez maintenant un formulaire qui permette d'insérer des données dans archi.txt (en respectant son format). Commencez par rédiger le formulaire HTML. Ne vous occupez du code php que dans un second temps.

<FORM action="<?=$_SERVER['PHP_SELF']?>" method="GET">

Type de batiment : <INPUT type="text" name="batiment" size="20"><BR>

Date du batiment : <INPUT type="text" name="date" size="20"><BR>

Adresse du batiment : <INPUT type="text" name="adresse" size="20"><BR>

Auteur(s) du batiment : <INPUT type="text" name="auteur" size="20"><BR>

<INPUT type="submit" value="Inserer"><BR><BR>

AULAS - 2007

Ouvrir FermerLire et écrire

Page 32: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Ajoutez maintenant un formulaire qui permette d'insérer des données dans archi.txt (en respectant son format). Commencez par rédiger le formulaire HTML. Ne vous occupez du code php que dans un second temps.

if (!empty($_GET))

{

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 33: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Ajoutez maintenant un formulaire qui permette d'insérer des données dans archi.txt (en respectant son format). Commencez par rédiger le formulaire HTML. Ne vous occupez du code php que dans un second temps.

if (!empty($_GET))

{

$pFic = fopen ("archi.txt", 'a');

fputs ($pFic, $chaine);

fclose ($pFic);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 34: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Ajoutez maintenant un formulaire qui permette d'insérer des données dans archi.txt (en respectant son format). Commencez par rédiger le formulaire HTML. Ne vous occupez du code php que dans un second temps.

if (!empty($_GET))

{

$separateur = " : ";

$pFic = fopen ("archi.txt", 'a');

fputs ($pFic, $chaine);

fclose ($pFic);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 35: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Ajoutez maintenant un formulaire qui permette d'insérer des données dans archi.txt (en respectant son format). Commencez par rédiger le formulaire HTML. Ne vous occupez du code php que dans un second temps.

if (!empty($_GET))

{

$separateur = " : ";

$chaine = $_GET['batiment'];

$chaine .= $separateur.$_GET['date'];

$chaine .= $separateur.$_GET['adresse'];

$chaine .= $separateur.$_GET['auteur']."\n";

$pFic = fopen ("archi.txt", 'a');

fputs ($pFic, $chaine);

fclose ($pFic);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 36: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Il ne vous reste plus qu'à donner la possibilité à votre utilisateur de supprimer des enregistrements.

Pensez qu'un lien de type:

<A href="mapage.php?suppr=2">Supprimer</A> peut fournir un moyen d'interaction simple indépendamment de tout formulaire.

1. Commencez par améliorer la fonction afficher() pour qu'elle fournisse une interface qui permette de supprimer des enregistrements.

2. Faites en sorte que votre programme prenne en compte les instructions de suppression.

AULAS - 2007

Ouvrir FermerLire et écrire

Page 37: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

function afficher($fichier, $separateur){

$tab = file($fichier);

print "<TABLE BORDER=\"1\">";

for ($i = 0; $i<count($tab);$i++)

{

print "<TR>";

$sstab = explode($separateur, $tab[$i]);

foreach ($sstab as $ssval)

print "<TD>$ssval";

print "<TD><A href=\"" .$_SERVER['PHP_SELF']. "?suppr=" .$i. "\">Supprimer</A>";

}

print "</TABLE>";

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 38: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

<TR>

<TD>Garde-meuble du mobilier national

<TD>1934

<TD>1, rue Berbier du Mets

<TD>Auguste PERRET

<TD><A href="/fic.php?suppr=1">Supprimer</A>

<TR>

<TD>Ensemble de logements

<TD>1935

<TD>75, bvd Blanqui

<TD>Agence d'architecture HBM

<TD><A href="/fic.php?suppr=2">Supprimer</A>

AULAS - 2007

Ouvrir FermerLire et écrire

Page 39: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

if (!empty($_GET))

{

if (isset($_GET['suppr']))

{

$pFic = fopen ("archi.txt", 'r');

fclose ($pFic);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 40: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

if (!empty($_GET))

{

if (isset($_GET['suppr']))

{

$pFic = fopen ("archi.txt", 'r');

fclose ($pFic);

$pFic = fopen ("archi.txt", 'w');

fclose ($pFic);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 41: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

if (!empty($_GET))

{

if (isset($_GET['suppr']))

{

$pFic = fopen ("archi.txt", 'r');

$tab = file("archi.txt");

$chaine ="";

fclose ($pFic);

$pFic = fopen ("archi.txt", 'w');

fclose ($pFic);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 42: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

if (!empty($_GET))

{

if (isset($_GET['suppr']))

{

$pFic = fopen ("archi.txt", 'r');

$tab = file("archi.txt");

$chaine ="";

for ($i = 0; $i<count($tab);$i++) {

$chaine .= ($i!=$_GET['suppr']) ? $tab[$i] : ""; }

fclose ($pFic);

$pFic = fopen ("archi.txt", 'w');

fclose ($pFic);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 43: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

if (!empty($_GET))

{

if (isset($_GET['suppr']))

{

$pFic = fopen ("archi.txt", 'r');

$tab = file("archi.txt");

$chaine ="";

for ($i = 0; $i<count($tab);$i++) {

$chaine .= ($i!=$_GET['suppr']) ? $tab[$i] : ""; }

fclose ($pFic);

$pFic = fopen ("archi.txt", 'w');

fputs ($pFic, $chaine);

fclose ($pFic);

} AULAS - 2007

Ouvrir FermerLire et écrire

Page 44: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 2

Les fichiers

Faites un formulaire qui permette d'insérer du texte dans le fichier archi.txt.

A vous de créer une fonction afficher qui permette d'afficher le contenu du fichier archi.txt.

AULAS - 2007

Ouvrir FermerLire et écrire

Page 45: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Quelques fonctions utiles

Les fichiers

unlink ("nomFichier") permet de supprimer un fichier

rename ("nomFichier", "nouveauNom") permet de renommer

copy ("source", "destination") permet de copier un fichier

AULAS - 2007

Ouvrir FermerLire et écrire

Page 46: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Ouvrir, parcourir et fermer un répertoire

Les fichiers

$pRep = opendir ($rep) permet d'ouvrir un répertoire

readdir ($pRep) permet de lire ligne à ligne le contenu du répertoire

closedir ($pRep); permet de fermer le répertoire

Ex:

$rep = "."; $pRep = opendir ($rep); while ($ligne = readdir($pRep)) {  print "$ligne<BR>"; } closedir ($pRep);

AULAS - 2007

Ouvrir/lire/fermer Créer et supprimerDistinguer répertoire et fichier

Page 47: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Distinguer un fichier d'un répertoire

Les fichiers

Lorsqu'on parcoure une arborescence, il est important de distinguer fichiers et répertoires, les seconds étant susceptibles de contenir encore d'autres fichiers.

Les fonctions is_dir ("nomFichier") et is_file ("nomFichier") testent s'il s'agit d'un répertoire ou d'un fichier.

Ex:

$rep = "."; $pRep = opendir ($rep); while ($ligne = readdir($pRep)) { $id = (is_dir($ligne)) ?"Répertoire":"Fichier" ; print "$id : $ligne<BR>"; } closedir ($pRep);

AULAS - 2007

Ouvrir/lire/fermer Créer et supprimerDistinguer répertoire et fichier

Page 48: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Créer et supprimer un répertoire

Les fichiers

mkdir (nomRépertoire, permissions (en octal)) créé un répertoire et lui définit les droits d'accès en octal, selon le modèle UNIX.

Ex :

mkdir ("desaix", 0777); //Selon le modèle pgu

rmdir (nomRépertoire) supprime un répertoire s'il est vide.

chdir (nomRépertoire) positionne dans nomRépertoire.

AULAS - 2007

Ouvrir/lire/fermer Créer et supprimerDistinguer répertoire et fichier

Page 49: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 3

Les fichiers

Créez une dizaine de répertoire imbriqués les uns dans les autres.

Puis effacez les.

AULAS - 2007

Ouvrir/lire/fermer Créer et supprimerDistinguer répertoire et fichier

Page 50: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 3

Les fichiers

Créez une dizaine de répertoire imbriqués les uns dans les autres.

Puis effacez les.

for ($i=0;$i<10;$i++)

{

mkdir("repertoire", 0777);

chdir("repertoire");

}

AULAS - 2007

Ouvrir/lire/fermer Créer et supprimerDistinguer répertoire et fichier

Page 51: Les fichiers

Tester un fichier Manipuler un fichier Manipuler un répertoire

Exercice 3

Les fichiers

Créez une dizaine de répertoire imbriqués les uns dans les autres.

Puis effacez les.

for ($i=0;$i<10;$i++)

{

mkdir("repertoire", 0777);

chdir("repertoire");

}

for ($i=0;$i<10;$i++)

{

chdir("..");

rmdir("repertoire");

}AULAS - 2007

Ouvrir/lire/fermer Créer et supprimerDistinguer répertoire et fichier