La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Jean-Michel ILIE - novembre 20051 SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.

Présentations similaires


Présentation au sujet: "Jean-Michel ILIE - novembre 20051 SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique."— Transcription de la présentation:

1 Jean-Michel ILIE - novembre 20051 SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique Partie III : SGF et Gestion des fichiers

2 Jean-Michel ILIE - novembre 20052 SIL - module M12 PLAN du cours  Introduction  Gestion des fichiers  Gestion des répertoires  Téléchargement de fichiers  Base de données fichiers

3 Jean-Michel ILIE - novembre 20053 SIL - module M12 Intérêts des traitements fichiers côtés serveur  Installation de site automatisée  fichiers  système de répertoires  gestion de la sécurité  Partage de fichiers - téléchargement (upload)  Administration du site à distance

4 Jean-Michel ILIE - novembre 20054 SIL - module M12 Gestion des fichiers  Ouverture et fermeture  Afficher des fichiers  Lire et Ecrire  Naviguer dans le fichier  Copier, supprimer, déplacer  Gestion des répertoires  Attributs des fichiers

5 Jean-Michel ILIE - novembre 20055 SIL - module M12 Gestion des fichiers  int $ff =fopen ('nom_fic', str_mode[b]); // str_mode : a : ajout; a+ : ajout/lecture; //r:lecture; r+ : lecture/écriture débutFic; //w: remplacement; w+: remplacement/lecture..//Rajouter ' b ' si fichier binaire (sous windows) //ff= 0 si échec sinon le pointeur du fichier  $bool= fclose ($ff);  $bool= fpassthru($ff); //envoie le (reste du) fichier sur la sortie standard (vers le navigateur) <?php if (!$ff=fopen("img.gif", "rb")) echo "affichage de l'image impossible"; else fpassthru($ff); ?> Ouvrir, afficher, fermer

6 Jean-Michel ILIE - novembre 20056 SIL - module M12 Gestion des fichiers  $c= getc ($ff);  $txt= fread($ff, int_lg);//strlen(txt)=lg  $txt= fgets($ff, int_lg+1); //lecture de lignes  $txt= fgetss($ff, int_lg); //similaire, sans rendre les balises HTML, PHP  $bool=feof($ff); //pour tester la fin de fichier  $tab=file($ff); //lecture et insertion des lignes //dans le tableau : tab[i]= la ième ligne  $bool= fputs ($ff, str, [int_lg]); //str= chaîne à écrire  $bool = fwrite ($ff, str, [int_lg]);  $bool = rewind ($ff); //réinitialise le pointeur  $bool = fseek ($ff, int_decalage); //décalage absolu en octets : -1 si échec et 0 si réussite <?php... $tab = file($ff); for ($i=0; $i<count($ tab ), $i++) echo "ligne $i = $tab[$i]"; ?> Lire, Naviguer, Ecrire

7 Jean-Michel ILIE - novembre 20057 SIL - module M12 Gestion des fichiers  $bool = copy ("src", "dest");  $bool = rename ("src", "dest"); <?php... if (! file_exists($fichier)) {echo 'rien à copier'; exit ;} if (! copy ($fichier, "c:.. /image/")) {echo 'pb de copie'; exit ;} ?> //alternative : (@ évite les exceptions) @file_exists($fichier) or die ('rien à copier'); @copy($fichier, "c:.. /image/") or die ('erreur copie'); Copier, déplacer, détruire, existence  $bool = unlink ("fic"); //supprime  $bool = file_exists ("fic"); //test

8 Jean-Michel ILIE - novembre 20058 SIL - module M12 Gestion des répertoires  $bool = chdir ("nom_rep"); //positionne le répertoire courant  $bool = mkdir ("nom_rep", int_mode); //mode : permission d'accès unix (Windows l'ignore)  $bool = rmdir ("nom_rep"); //si vide, détruit le répertoire  $dd = opendir ("nom_rep"); //ouverture (par défaut le répertoire courant)  $str = readdir ($dd); //lit la prochaine entrée du répertoire  rewinddir ($dd); //se place sur la 1er entrée du répertoire  closedir ($dd); //ferme <?php... if (!mkdir ("/temp", 0700) ) echo "creation imposible";?> Ouvrir, afficher, positionner créer, détruire <?php $rep=opendir("../") while ($nom_fich =readdir ("$rep")) echo "$nom_fic"; chdir ("/temp"); ?>

9 Jean-Michel ILIE - novembre 20059 SIL - module M12 Téléchargement (upload) Formulaire de téléchargement <FORM action="upload.php" method="POST" enctype="multipart/form-data"> Envoyer ce fichier : Variables créées sur le serveur : $_FILES['userfile']['name'] //intitulé initial $_FILES['userfile']['size'] //taille $_FILES['userfile']['type'] //type MIME $_FILES['userfile']['tmp_name'] // fichier temporaire créé par le téléchargement

10 Jean-Michel ILIE - novembre 200510 SIL - module M12 Fichier soumis : Nom : Nom temporaire : Taille : Type : <?$dest=".\\upload.txt"; //!!!Barres obliques inverses //!!! à Doubler. if (copy( $_FILES['userfile']['tmp_name'], $dest)) echo(" copie réussie. "); else echo(" echec de copie. "); unlink( $_FILES['userfile']['tmp_name'] ); ?> // Supprimer le fichier temporaire Téléchargement (upload) <form action="upload.php" method="post" enctype="multipart/form-data"> Envoyer ce fichier : parcours du SGF client Téléchargement puis copie

11 Jean-Michel ILIE - novembre 200511 SIL - module M12 Bases de données en fichiers (BD non relationnelle) Table à deux entrées Identifiant / Valeur (équivalent dictionnaire) $db= dba_open ($dbpath, "acces", $dbtype, [int_model]); //chemin de la base : $dbpath (ex : database.db ) //acces : 'r', 'w', 'c' (création) ou 'n' (écraser les données existantes) //' type $dbtype de gestion : 'gdbm' (GNU unix), db2, 'cdb' (qmail) //rend false si échec $id= dba_firstkey($db); $id= dba_nextkey($db); //rend false en fin dba_fetch($id, $db); //rech par $id dba_delete ($id, $db); dba_replace ($id, 'valeur', $db); dba_sync($db); //réalisation effective des modifications dans la base dba_close($db); Fct sup : la sérialisation des entrées $ch= serialize($tab); // de tableau en chaîne $tab= deserialize($ch); // de chaîne en tableau

12 Jean-Michel ILIE - novembre 200512 SIL - module M12 Exercices  Gestion des fichiers utilisateurs  Administration des fichiers et répertoires du serveur

13 Jean-Michel ILIE - novembre 200513 SIL - module M12 Application Gestion d'un carnet d'adresse $creat = "CREATE TABLE $tab ( NOM VARCHAR(255), EMAIL VARCHAR(255), VILLE VARCHAR(255), DESCRIPTION VARCHAR(255), TELEPHONE VARCHAR(255), ID INT PRIMARY KEY AUTO_INCREMENT )"; NOM EMAIL (PRIMARY KEY) VILLE DESCRIPTION TELEPHONE Table carnetAdresse (base PHP) Actions sur la table  Ajouter un enregistrement  Rechercher un enregistrement  modifier  Détruire


Télécharger ppt "Jean-Michel ILIE - novembre 20051 SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique."

Présentations similaires


Annonces Google