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