Vous êtes sur la page 1sur 19

Apprentissage et Pratique du

Langage PHP

Intégration de Fichiers externes,


Gestion des sessions,
Gestion des fichiers,
Atelier

Par
El hassan Abdelwahed
Département d’Informatique
Faculté des Sciences Semlalia Marrakech
Fichiers externes
Lorsqu'un même script doit être utilisé dans des pages Html différentes, afin de
faciliter sa maintenance, il est conseillé d'écrire ce script dans un fichier séparé.

Par exemple les parties de contenu qui sont communes à des pages (entête de page,
pied de page, menu principal..) peuvent être enregistrées dans différents fichiers.

PHP possède deux fonctions, require( ) et include( ), qui concernent l'inclusion de


fichiers externes du type texte (HTML, JavaScript, PHP, texte, … etc. ) à l’intérieur
d’autres fichiers:
• <?php require ( "fichier.php« ); ?>
• <?php require ( "fichier.php« ); ?

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 2


Fichiers externes

La différence importante entre require() et include() va se situer dans la réponse du


PHP dans le cas ou le fichier ne peut pas être inclus pour une quelconque raison
(fichier introuvable, indisponible, etc.):

• Include() renvoi qu’un avertissement (warning) en cas d’erreur et le reste du script


s’exécutera quand même
• require() provoquera une erreur fatal et l’exécution du script s’arrêtera
immédiatement ce qui empêchera l’exécution des scripts qui suivront.

La fonction require( ) est donc plus stricte que la fonction include( ).

Ces deux fonctions prennent un seul paramètre de type chaîne de caractères. C'est le
chemin qui mène au fichier externe à inclure. Les fichiers sont inclus suivant le
chemin du fichier fourni. Ces fichiers externes sont cherchés :

• Dans le dossier du script appelant et dans le dossier de travail courant


• Dans le répertoire spécifié dans la directive « include_path » du fichier php.ini

Si les fichiers à inclure sont introuvables, une erreur est générée.

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 3


Fichiers externes
Lorsqu'un fichier est inclue, le code se trouvant à l'intérieur est exécuté. Les
variables, constantes, objets, tableaux... du fichier inclue peuvent donc être réutilisés
dans la suite du programme.

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 4


Fichiers externes

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 5


Cookie

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 6


Cookie
Un cookie est un petit fichier texte qui ne peut contenir qu’une quantité limitée de
données. Les cookies vont être stockés sur les ordinateurs des visiteurs. Ainsi, à tout
moment, un utilisateur peut lui même supprimer les cookies de son ordinateur.

Un cookie a une durée de vie limitée et la date de son expiration peut être définie.
Généralement, les cookies sont utilisés pour préenregistrer les données concernant
les visiteurs du site (à des buts de personnalisation, ….etc.).

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 7


Sessions
Une session assure le passage et l’accessibilité de valeurs des variables entre
pages HTML (ou PHP). Ces valeurs sont en fait sauvegardées dans une variable
globale $_SESSION[ ] qui est un tableau associatif.

Contrairement aux autres variables sa durée de vie ne se limite pas à la durée de


vie de la page. Ces valeurs sont stockées sur le serveur et peuvent donc être
réutilisées sur n’importe quelles pages du même site.

Exemple:
- Les sites marchands utilisent, par exemple, les sessions pour la création de
paniers.
- Les sessions sont aussi utilisées sur les sites qui proposent des accès
membres via un formulaire d’identification.

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 8


Sessions

La fonction session_start() qui est obligatoire va démarrer une nouvelle session. Elle doit être
appelée avant tout affichage de contenu dans la page.

Au démarrage d’une session PHP va créer un fichier texte (coté serveur). Le chemin de ce fichier
sera enregistrer dans un Cookie (coté client). Par défaut l’identifiant du Cookie est PHPSESSID.

La fonction session_start() va donc lire ou créer le cookie pour pouvoir accéder au fichier
distant. Donc si les cookies ne sont pas activés, les sessions ne seront pas utilisables.

Ensuite les données du fichier seront lues par PHP (mode lecture) et stockées en mémoire dans
la superglobale $_SESSION[]. A l’inverse si vous remplissez la variable $_SESSION[], PHP va à la
fin du script écrire les valeurs de la superglobale dans le fichier (mode écriture).

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 9


Sessions

session_start()
Démarre une session ou appeler la session existante

session_destroy()
Met fin à la session et efface les données.

session_name()
Retourne le nom de la session en cours

session_id()
Retourne le code de la session en cours

session_is_registred()
Vérifie si une variable est enregistrée dans la session

session_register()
Enregistre une variable dans la session courante: : session_register($var) indique à
PHP que la variable $var doit être enregistrée dans la session en cours. En plus cela
indique à PHP de modifier la valeur enregistrée dans la session lorsque la valeur dans
le script change.

$_SESSION : Il s'agit du tableau global contenant toutes les variables de sessions


pour la session courante.

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 10


Sessions

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 11


Travaux Pratique

Atelier 3a

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 12


Fichiers

• La manipulation de fichier se fait grâce à un identifiant de fichier.

• Quelques fonctions:

fopen($file [,$mode]) : ouverture du fichier identifié par son nom $file


et dans un mode $mode particulier, retourne un identificateur $fp
de fichier ou FALSE si échec
fopen($fp) : ferme le fichier identifié par le $fp
fgets($fp, $length) : lit une ligne de $length caractères au maximum
fputs($fp, $str) : écrit la chaîne $str dans le fichier identifié par $fp
fgetc($fp) : lit un caractère
feof($fp) : teste la fin du fichier
file_exists($file) : indique si le fichier $file existe
filesize($file) : retourne la taille du fichier $file
filetype($file) : retourne le type du fichier $file
unlink($file) : détruit le fichier $file
copy($source, $dest) : copie le fichier $source vers $dest
rename($old, $new) : renomme le fichier $old en $new

Apprentissage et Pratique de PHP, Par E.H. Abdelwahed, Département d’Informatique, FSSM


Fichiers
Modes de fichiers possibles
r: ouverture en lecture seulement
w: ouverture en écriture seulement (la fonction crée le fichier s'il n'existe pas)
a: ouverture en écriture seulement avec ajout du contenu à la fin du fichier (la
fonction crée le fichier s'il n'existe pas)
r+: ouverture en lecture et écriture
w+: ouverture en lecture et écriture (la fonction crée le fichier s'il n'existe pas)
a+: ouverture en lecture et écriture avec ajout du contenu à la fin du fichier (la
fonction crée le fichier s'il n'existe pas)

Apprentissage et Pratique de PHP, Par E.H. Abdelwahed, Département d’Informatique, FSSM


Exemple : Fichier CSV, Sauvegarde de données

Apprentissage et Pratique de PHP, Par E.H. Abdelwahed, Département d’Informatique, FSSM


Exemple
Transfert de données de la RAM vers le disque dur
Ecriture des données issues de tableaux vers un fichier au format CSV

Version 1

Version 2

Apprentissage et Pratique de PHP, Par E.H. Abdelwahed, Département d’Informatique, FSSM


Exemple
Transfert de données du disque dur vers la RAM
Lecture des données stockées dans un fichier au format CSV vers des tableaux

Version 1

Version 2

Apprentissage et Pratique de PHP, Par E.H. Abdelwahed, Département d’Informatique, FSSM


Manuel officiel de PHP

Pour plus d’informations (fonctions, …etc.) Consultez le manuel officiel de PHP :


https://www.php.net/manual/fr/index.php

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 18


Travaux Pratique

Atelier 3b

Apprentissage et Pratique du Langage PHP El Hassan Abdelwahed, FSSM, UCAM 19

Vous aimerez peut-être aussi