PHP - Page personnelle de Nicolas Faessel
Transcription
PHP - Page personnelle de Nicolas Faessel
Les fichiers Chaîne de caractères et tableau PHP Nicolas Faessel Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Outline 1 Les fichiers 2 Chaîne de caractères et tableau Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Plan 1 Les fichiers 2 Chaîne de caractères et tableau Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Les fichiers But Stocker des informations reçues par un formulaire dans un fichier Pouvoir les afficher, modifier, vérifier, etc . . . Par souci de simplicité, nous utiliserons les tableau pour travailler avec les données des fichiers. Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Ouverture : fopen I Un fichier doit toujours être ouvert avant traitement (lecture et/ou écriture), puis fermé à la fin du traitement. La fonction utilisée est fopen(nom, mode); nom peut être : un nom de fichier à ouvrir sur le serveur, une page à ouvrir via une url mode correspond au mode d’écriture : "r" : lecture seule, à partir du début du fichier "r+" : lecture/écriture, à partir du début du fichier "w" : ouvre en écriture seule au début du fichier et réduit la taille du fichier à 0 (efface le fichier). Si le fichier n’existe pas, on tente de le créer. Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Ouverture : fopen II "w+" : ouvre en lecture/écriture au début du fichier et réduit la taille du fichier à 0 (efface le fichier). Si le fichier n’existe pas, on tente de le créer. "a" : Ouvre en écriture seule à la fin du fichier. Si le fichier n’existe pas, on tente de le créer. "a+" : Ouvre en lecture/écriture à la fin du fichier. Si le fichier n’existe pas, on tente de le créer. "x" : Créé et ouvre un fichier en écriture seule. Si le fichier existe déjà, fopen va échouer, en retournant FALSE et en générant une erreur. "x+" : Créé et ouvre un fichier en lecture/écriture. Si le fichier existe déjà, fopen va échouer, en retournant FALSE et en générant une erreur. Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Lecture : fgets I Soit un fichier $fich$ ouvert en lecture : $fich = fopen("mon_fichier.txt", "r"); fgets($fich, longueur) permet de récuperer une ligne du fichier. longueur désigne le nombre de caractères maximum que la fonction est sensée récupérer sur la ligne fgets() renvoie 0 en cas d’échec, la chaîne dans le cas contraire fgets() récupère à chaque appel une nouvelle ligne du fichier => l’insérer dans une boucle while pour récuperer le ficher entier. feof() permet de tester si la fin du fichier n’a pas été atteinte Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Lecture : fgets II <?php i f ( ! $ f i c h = fopen (" f i c h i e r . txt " , " r ") ) { echo " Echec de l ’ o u v e r t u r e du f i c h i e r " ; exit ; } else { //tant que l’on atteind pas la fin du fichier while ( ! f e o f ( $ f i c h ) ) { // On récupère une ligne $Ligne = f g e t s ( $fich ,255) ; // On affiche la ligne echo $ L i g n e ; } f c l o s e ( $ f i c h ) ; // On ferme le fichier } ?> Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Écriture : fputs I Soit un fichier $fich$ ouvert en écriture : $fich = fopen("mon_fichier.txt", "r"); fputs($fich, $chaine_a_ecrire, [, $longueur]) permet d’écrire une chaîne de caractère dans un fichier. $chaine_a_ecrire désigne la chaîne à écrire dans le fichier. Tous les octets jusqu’à la fin de la chaîne sont écrits, sauf si $longueur est spécifié et a une valeur inférieure au nombre d’octets de la chaîne. fputs() renvoie le nombre de caractères effectivement écrits dans le fichier ou false en cas d’erreur. Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Écriture : fputs II <?php // ouverture du fichier en écriture $ f i c h = fopen ( " mon_fichier . t x t " , "a" ) ; // on va a la ligne f p u t s ( $ f i c h , " \n" ) ; // on écrit une nouvelle ligne dans le fichier f p u t s ( $ f i c h , " une n o u v e l l e l i g n e de t e x t e " ) ; fclose ( $fich ) ; ?> Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Plan 1 Les fichiers 2 Chaîne de caractères et tableau Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Chaîne vers tableau : explode I $tab = explode("delimiteur", $chaine); Renvoi un tableau de sous-chaîne de caractères, les sous-chaînes sont extraites de $chaine et délimités par le caractère delimiteur <?php // Les délimiteurs sont des slash $date = "04/30/1973"; // récupération des sous-chaînes sous forme de tableau $chaines = explode("/", $date); //affichage des valeurs de chaque sous-chaîne foreach($chaines as $value){ Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Chaîne vers tableau : explode II echo "$value <br />\n"; } ?> Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Tableau vers chaîne : implode I $tab = implode($glue, array $tab_str); Retourne une chaîne contenant la représentation en chaîne de caractères de tous les éléments du tableau $tab_srt, dans le même ordre, avec la chaîne $glue, placée entre deux éléments. <?php //On défini un tableau contenant trois chaine de caractères $tab_str = array(’nom’, ’email’, ’telephone’); //on colle les chaine en les séparant par une , $new_str = implode(",", $array); Nicolas Faessel PHP Les fichiers Chaîne de caractères et tableau Tableau vers chaîne : implode II echo $new_str; // nom,email,telephone ?> Nicolas Faessel PHP