Cours 08 SYSTÈME DE FICHIERS

Slides:



Advertisements
Présentations similaires
PHP Accès au système de fichiers
Advertisements

PHP 3° PARTIE : GESTION DE FICHIERS ET DE REPERTOIRES
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
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.
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – RAPPELS SUR UNIX DE BASE.
Informatique 2A Langage C 4ème séance
1 UNIX AVANCE Yves PAGNOTTE – Janvier – COMMUNICATION INTER PROCESSUS : TUBES.
Chapitre 5 Administration des accès aux objets dans les unités d'organisation Module S42.
Règles de nommages Eric Bleuzet Philippe Terme.
Présentation de Scribe Votre nouvelle organisation du Réseau Informatique Pédagogique.
Guide de l'enseignant SolidWorks, leçon 1 Nom de l'établissement Nom de l'enseignant Date.
1 © Copyright 2006, Philippe Arlotto tln.fr Creative Commons Attribution-ShareAlike 2.0 license 27/09/2016 ● Algorithmique & Langage.
Cours 4 data frames. Modes ouiNumérique, caractère, complexe logique Liste list ouiNumérique,caractère,complexe logiqueSérie temporelle ts OuiNumérique,caractère,complexe.
Comment utiliser le débogueur de Visual Studio /8/2015 INF145 1 Créé par Julien Galarneau Allaire, révisé par Eric Thé S.E.G.
Installation De Peakup.  Télécharger le fichier peakup2.4.0.free.zip  Décompresser le fichier extrait sur une Directory de votre choix  Créer un lient.
1 Programmation en C++ IO en C++/SL ● Standard Library ● Types, objets pour IO ● L'entrée de clavier ● Sortie à l'écran ● Fichiers.
Module 14 : Installation et configuration des services Terminal Server.
Procédures Framework LDAP
AMUE – SIFAC Gestion des services fait sur SIFAC WEB
Tovo Rabemanantsoa, Alexis Lahouze, ABUL
I- ANALYSE DU BESOIN / Plan
LES TABLEAUX EN JAVA.
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Les commandes du système de fichiers
Les Tableaux Mme DJEBOURI. D.
Séminaire EOLE Dijon octobre 2010
Guide d’utilisation.
Ajouter le code dans une page html
Accès aux fichiers en C.
Javadoc et débogueur Semaine 03 Version A16.
Principes de programmation (suite)
Réalisation d'agents de surveillance Zephir
Algorithmique & Langage C
Guillaume Philippon Tutoriel git.
Python for beginners Qu'est ce que Python
Semaine #4 INF130 par Frédérick Henri.
  EXCEL FORMATION d'introduction.
Réaliser une présentation PowerPoint
Création d’un formulaire
1ers pas des utilisateurs migrés
Création Et Modification De La Structure De La Base De Données
Un compteur de visiteurs pour la page d’accueil de notre site
Environnement de gestion des machines Virtuelles
Package R Markdown: Un outil pour générer des pages html avec R Studio
Gestion des fichiers Niv2
Programmation Android Bases De Données, SQL-lite
Formation sur les bases de données relationnelles.
Prélude CS Mode client-serveur
Gilles BADUFLE À partir d’un PPT modifié du C.A.H.M.
USER GUIDE : BASE DE DOCUMENTATION
Gestion des fichiers GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Source:
Gérez vos documents CIRCABC Module 1 DIGIT A3
Création d’un « Web Worm » Exploitation automatisée de failles web Simon Marechal Consultant SSI
Chapitre 2 Le Projet Poterie
Module 13 : Implémentation de la protection contre les sinistres
Gestion des entrées/sorties: organisation d'un disque dur
Windows 7 NTFS.
LE SYSTEME DE GESTION DE FICHIERS
Système de gestion de contenu de sites web
Elles contiennent des informations autre que géométriques
PROGRAMMATION ET ENSEIGNEMENT
Exercices récapitulatifs
PROGRAMMATION ET ENSEIGNEMENT
Support de formation Administrateur Entretiens
Python Nicolas THIBAULT
UC : Diagramme des cas d’utilisation Req : Diagramme d’exigence
Type Tableau Partie 1 : Vecteurs
Principales différences entre les systèmes d’exploitation MAC OS et Windows Nouveau : on insiste sur la partie formation.
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

Cours 08 SYSTÈME DE FICHIERS

SYSTÈME DE FICHIERS 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

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

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 le groupe propriétaire courant du fichier filename en user ex : chown("foo.txt", "cutrona") ;

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") ;

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é ?

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

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") ;

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

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") ;

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") ;

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") ;

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

Fonctions de lecture/écriture Fichier Lecture Curseur Écriture avec remplacement Fichier Curseur Écriture avec destruction Fichier Curseur Écriture avec ajout seul Fichier Curseur

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") ;

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

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

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

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

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) ; }