PHP Accès au système de fichiers

Slides:



Advertisements
Présentations similaires
Formation - Fedora et VMware
Advertisements

Stockage de données.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
(Classes prédéfinies – API Java)
TP n°1 PHP LES BASES Premier programme Affichage
Personal Home Page / Hypertext Processor (PHP)
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
Suite à de nombreuses remarques concernant le projet de structures de données 'Gestion d'un Aéroport' , voici un polycopié de cours concernant la gestion.
FLSI602 Génie Informatique et Réseaux
11:02:471 Programmation Web : Flux RSS Jérôme CUTRONA Programmation Web
11:16:331 Programmation Web Programmation Web : Formulaires HTML Jérôme CUTRONA
Jérôme CUTRONA PHP et bases de données Jérôme CUTRONA 01:07:51 Programmation Web
PhpMyAdmin 01:08:02 Programmation Web
Jérôme CUTRONA PHP objet Jérôme CUTRONA 01:08:01 Programmation Web
Jérôme CUTRONA PHP PDO Jérôme CUTRONA 01:08:01 Programmation Web
11:37:32 Programmation Web PHP5 objet "avancé" Jérôme CUTRONA
PHP Interface base de données
Systèmes d'exploitations Les redirections d'entrées/sorties GRARI Mounir ESTO Année 2011.
Systèmes d'exploitations GRARI Mounir ESTO Année 2011.
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
TP : Fichiers et Tableaux Séance N°2 Avril Application de Gestion de stock Partie 1 : les fichiers 1 Création dun fichier de 20 articles.
Système d’exploitation
Les instructions PHP pour l'accès à une base de données MySql
Systèmes d'exploitations
FICHIERS.
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
Les fichiers binaires en C++
IFT Structures de données
Operations de Base en C++ sur les Fichiers
IFT 6800 Atelier en Technologies d’information
CSI2520 Ecriture sur l'écran ou dans un fichier Lecture à partir du clavier ou dun fichier Affichage de termes : *write(1+2) affiche 1+2 *write(X). affiche.
ÉLÉMENTS DE BASE UNIX.
Manipulation des fichiers dans le langage VB
Sécurité Informatique Module 05
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
1212 Entrée et sortie de fichiers Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console.
TP n°3 Javascript Contrôle de formulaire
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
Les pointeurs L'opérateur &.
Gérer la sécurité des mots de passe et les ressources
Tester un fichierManipuler un fichierManipuler un répertoire Les données disponibles Les fichiers On peut obtenir sur un fichier toutes les informations.
PHP 3° PARTIE : GESTION DE FICHIERS ET DE REPERTOIRES
PHP 5° PARTIE : LES COOKIES
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
1 FICHIERS. 2 Les Fichiers  Les "entrées-sorties conversationnelles" échangent des informations entre le programme et l'utilisateur.  Le terme de fichier.
Un survol du language C.
Labo 4 : Les structures et les entrées et sorties
 Syntaxe du langage PHP
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Maria Malek - EISTI - CPI11 Présentation d’UNIX –1969, laboratoire Bell –Systèmes multi-tâches multi-utilisateurs –Architecture Le noyau –Gestion de la.
SYSTÈME D’EXPLOITATION I
Finder => Application => Utilitaires => Terminal Editor:pico Touches –Finder=>Applic.=> Utili. => Touches –~: Alt+N –|: Shift+Alt+N –[: Shift+ Alt+5 –{:
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
06:34:37 Programmation Web PHP Fonctions associées aux tableaux Jérôme CUTRONA
Les fichiers 1ère partie
Systèmes d’exploitation
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
 Formulaires HTML : traiter les entrées utilisateur
Elaboré par Ahmed BESSAIDI
FORMATION Unix/Linux CHAPITRE 5 : Gestion des Droits.
1 UMLV  FICHIERS Mémoire de masse découpée en blocs Fichier :liste chaînée de blocs, ou arbre de blocs (répertoires - fichiers)‏ Bloc d’éléments Bloc.
Module 133 Développer des applications Web Introduction à PHP.
FORMATION Unix/Linux CHAPITRE 3: Commandes De Base.
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Algorithmique et langage C
Samba contrôleur de domaine Linux – Ubuntu Samba
Développement d’applications Web
Cours 08 SYSTÈME DE FICHIERS
Transcription de la présentation:

PHP Accès au système de fichiers Jérôme CUTRONA jerome.cutrona@univ-reims.fr 02:48:06 Programmation Web 2012-2013

Préambule L'accès au système de fichiers en PHP est réalisé par le moteur PHP. Plus précisément, c'est le serveur Web qui accède aux fichiers. Ce sont donc les droits d'accès de l'utilisateur "web" qui sont mis en jeu avec toutes les limitations que cela comporte ! Les pseudo-types présentés dans les diapositives suivantes sont donnés à titre informatif. Toutes les fonctions travaillent à partir du répertoire courant (par défaut, celui du script) Les fonctions présentées retournent souvent false en cas d'échec et affichent parfois des avertissements dans ce cas 02:48:06 Programmation Web 2012-2013

Fonctions "commande shell" chmod : modifier les droits d'accès chown : modifier le propriétaire chgrp : modifier le groupe mkdir : créer un répertoire rmdir : détruire un répertoire copy : copier un fichier basename : donner le nom d'un fichier dirname : donner le chemin d'un fichier link : créer un lien physique symlink : créer un lien symbolique unlink : détruire un lien touch : changer la date de modification 02:48:06 Programmation Web 2012-2013

Fonctions "commande shell" bool chmod ( string filename, int mode ) remplace le mode de filename par le mode mode ex : chmod("foo.txt", 0644) ; bool chown ( string filename, mixed user ) change l’utilisateur propriétaire courant du fichier filename en user ex : chown("foo.txt", "cutrona") ; bool chgrp ( string filename, mixed group ) remplace le groupe propriétaire courant du fichier filename par group ex : chgrp("foo.txt", "prof") ; 02:48:06 Programmation Web 2012-2013

Fonctions "commande shell" bool mkdir (string pathname [, int mode [, bool recursive ]]) crée un répertoire pathname avec le mode mode de façon récursive ex : mkdir("rep12", 0755) ; bool rmdir ( string dirname ) efface le répertoire dont le chemin est dirname. Le répertoire doit être vide ex : rmdir("rep12") ; bool copy ( string source, string dest ) effectue une copie du fichier source vers le fichier dest ex : copy("fic.txt", "copie_fic.txt") ; 02:48:06 Programmation Web 2012-2013

Fonctions "commande shell" string basename ( string path [, string suffix] ) extrait le nom du fichier (au sens large) dans le chemin path. Si suffix est fourni, il sera supprimé dans le nom du fichier ex : basename("/home/prof/cutrona/public_html") ; public_html string dirname ( string path ) donne le chemin du fichier (au sens large) contenu dans path ex : dirname("/home/prof/cutrona/public_html") ; /home/prof/cutrona 02:48:06 Programmation Web 2012-2013

Fonctions "commande shell" bool link ( string target, string link ) crée un lien de nom link vers le fichier destination existant target ex : link("foo.txt", "bob") ; bool symlink ( string target, string link ) crée un lien symbolique de nom link vers le fichier destination existant target ex : symlink("foo.txt", "bob") ; bool unlink ( string filename ) efface le fichier filename ex : unlink("foo.txt") ; 02:48:06 Programmation Web 2012-2013

Fonctions "commande shell" bool touch ( string filename [, int time [, int atime]] ) tente de forcer la date de modification du fichier désigné par le paramètre filename à la date de spécifiée par le paramètre time. Le troisième paramètre atime est utilisé comme date de dernier accès. Si le fichier n'existe pas, PHP tente de le créer time et atime sont des timestamp UNIX (nombre de secondes depuis le 1er Janvier 1970 00:00:00 GMT) int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] ) crée un timestamp UNIX correspondant aux paramètres 02:48:06 Programmation Web 2012-2013

Fonctions informatives file_exists : fichier existe ? is_dir : est un répertoire ? is_file : est un fichier régulier ? is_link : est un lien symbolique ? filetype : type de fichier is_readable : est lisible ? is_executable : est exécutable ? is_writ[e]able : peut être modifié ? 02:48:06 Programmation Web 2012-2013

Fonctions informatives disk_free_space : espace disponible disk_total_space : espace occupé filesize : taille du fichier fileatime : date d'accès filectime : date de changement filemtime : date de modification fileowner : propriétaire filegroup : groupe fileperms : droits d'accès 02:48:06 Programmation Web 2012-2013

Fonctions informatives bool file_exists ( string filename ) retourne true si le fichier filename existe, et false sinon ex : file_exists("foo.txt") ; bool is_dir ( string filename ) retourne true si filename existe et est un dossier ex : is_dir("progweb1A") ; bool is_file ( string filename ) retourne true si filename existe et est un fichier régulier ex : is_file("index.php") ; 02:48:06 Programmation Web 2012-2013

Fonctions informatives bool is_link ( string filename ) retourne true si filename existe et est un lien symbolique ex : is_link("progweb1A/Cours") ; string filetype ( string filename ) renvoie le type du fichier filename. Réponses possibles : fifo : file UNIX char : fichier spécial de type caractère dir : répertoire block : fichier spécial de type bloc link : lien symbolique file : fichier régulier unknown : inconnu 02:48:06 Programmation Web 2012-2013

Fonctions informatives bool is_readable ( string filename ) retourne true si le fichier ou le dossier filename existe et est accessible en lecture. ex : is_readable("foo.txt") ; bool is_writ[e]able ( string filename ) retourne true si filename existe et est accessible en écriture. ex : is_writable("foo.txt") ; bool is_executable ( string filename ) retourne true si filename existe et est exécutable. ex : is_executable("index.php") ; 02:48:06 Programmation Web 2012-2013

Fonctions informatives float disk_free_space ( string directory ) retourne le nombre d'octets disponibles sur le disque contenant le dossier directory ex : disk_free_space("/home/prof/cutrona/public_html") ; float disk_total_space ( string directory ) lit récursivement toutes les tailles du dossier directory et retourne la somme ex : disk_total_space("/home/prof/cutrona/public_html") ; int filesize ( string filename ) renvoie la taille du fichier filename ex : filesize("index.php") ; 02:48:06 Programmation Web 2012-2013

Fonctions informatives int fileatime ( string filename ) renvoie la date de dernier accès au contenu de filename ex : fileatime("index.php") ; int filectime ( string filename ) renvoie la date à laquelle les propriétés du fichier filename ont été changées pour la dernière fois ex : filectime("index.php") ; int filemtime ( string filename ) renvoie la date de dernière modification du contenu du fichier filename ex : filemtime("index.php") ; 02:48:06 Programmation Web 2012-2013

Fonctions informatives int fileowner ( string filename ) renvoie l'uid du propriétaire du fichier filename array posix_getpwuid ( int uid ) ex : fileowner("index.php") ; int filegroup ( string filename ) renvoie le gid groupe qui possède le fichier filename array posix_getgrgid ( int gid ) ex : filegroup("index.php") ; int fileperms ( string filename ) renvoie les permissions affectées au fichier filename ex : fileperms("index.php") ; 02:48:06 Programmation Web 2012-2013

Fonctions de lecture/écriture readfile : contenu  sortie std file_get_contents : contenu  chaîne file : contenu  tableau fopen : ouvrir un fichier fread : lire dans un fichier ouvert fwrite : écrire dans un fichier ouvert fseek : se déplacer dans un fichier ftell : position dans un fichier fgetc : lire un caractère fgets : lire une ligne fclose : fermeture d'un fichier 02:48:06 Programmation Web 2012-2013

Fonctions de lecture/écriture Fichier Lecture Curseur Écriture avec remplacement Fichier Curseur Écriture avec destruction Fichier Curseur Écriture avec ajout seul Fichier Curseur 02:48:06 Programmation Web 2012-2013

Fonctions de lecture int readfile ( string filename ) lit le fichier filename et l'envoie sur la sortie standard. retourne le nombre d'octets lus depuis le fichier ex : readfile("index.html") ; string file_get_contents ( string filename ) lit le fichier filename et place son contenu dans une chaîne ex : $s = file_get_contents("liste.txt") ; array file ( string filename ) lit le fichier filename et place son contenu dans un tableau dont chaque élément contient une ligne du fichier ex : $t = file("liste.txt") ; 02:48:06 Programmation Web 2012-2013

Fonctions de lecture/écriture resource fopen ( string filename, string mode ) crée une ressource nommée, spécifiée par le paramètre filename, sous la forme d'un flux ouvert selon le mode ex : $fp = fopen("index.html", 'r+') ; Mode Description 'r' Lecture, curseur au début 'r+' Lecture/écriture, curseur au début 'w' Écriture, curseur au début, RAZ 'w+' Lecture/écriture, curseur au début, RAZ 'a' Écriture, curseur à la fin, fseek HS 'a+' Lecture/écriture, curseur à la fin, fseek HS 'x' Création, écriture, échec si existe 'x+' Création, lecture/écriture, échec si existe 02:48:06 Programmation Web 2012-2013

Fonctions de lecture/écriture string fread ( resource handle, int length ) lit jusqu'à length octets dans le fichier référencé par handle int fwrite ( resource handle, string string [, int length] ) écrit le contenu de la chaîne string dans le fichier référencé par handle à concurrence de length octets, ou de la taille de la chaîne string bool fclose ( resource handle ) ferme le fichier référencé par handle 02:48:06 Programmation Web 2012-2013

Fonctions de lecture/écriture int fseek ( resource handle, int offset [, int whence] ) modifie le curseur de position dans le fichier référencé par handle. La nouvelle position mesurée en octets à partir du début du fichier, est obtenue en additionnant la distance offset à la position whence : SEEK_SET - Position finale = offset octets. SEEK_CUR - Position finale = position courante + offset octets. SEEK_END - Position finale = position fin du fichier + offset. int ftell ( resource handle ) retourne la position courante, en octets, du curseur dans le fichier référencé par handle 02:48:06 Programmation Web 2012-2013

Fonctions de lecture/écriture string fgetc ( resource handle ) retourne une chaîne contenant un seul caractère, lu depuis le fichier référencé par handle string fgets ( resource handle [, int length] ) retourne une ligne du fichier référencé par handle jusqu'à la longueur maximale length - 1 octets 02:48:06 Programmation Web 2012-2013

Exemple de boucle de lecture // Tentative d'ouverture du fichier if ($h = @fopen("dummy.txt", "r")) { // Lecture du fichier ligne à ligne   while (($ligne = fgets($h)) !== false) {   // Utilisation de $ligne   }   // Fermeture   fclose($h) ; } 02:48:06 Programmation Web 2012-2013

Fonctions de recherche fnmatch : contrôle de motif glob : recherche de chemins 02:48:06 Programmation Web 2012-2013

Contrôle de motif bool fnmatch ( string mo , string ch [, int flag] ) vérifie si la chaîne ch correspond au motif mo. fnmatch utilise une forme simple d'expressions régulières équivalentes à celles utilisés en Shell UNIX. ex : fnmatch("*gr[ae]y", $color) 02:48:06 Programmation Web 2012-2013

Recherche de chemins array glob ( string mo [, int flag] ) recherche tous les chemins correspondant au motif mo. retourne un tableau contenant les noms des chemins trouvés valeurs possibles de flag : GLOB_NOSORT – Pas de tri GLOB_NOESCAPE – Pas de protection des méta-caractère avec un anti-slash GLOB_BRACE – Remplace {a,b,c} par 'a', 'b' ou 'c' GLOB_ONLYDIR – Ne retourne que les dossiers 02:48:06 Programmation Web 2012-2013