Andre G. 35 53 Andres R. 35 52 Dupond P. 35 54 Dupont M. 36 11 Pierre L. 36 13 Radup K. 35 10 Smith J. 35 50



Documents pareils
La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Dans l'article précédent, vous avez appris

TP JAVASCRIPT OMI4 TP5 SRC

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

TP 1. Prise en main du langage Python

Stockage du fichier dans une table mysql:

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Premiers Pas en Programmation Objet : les Classes et les Objets

Utilisation d objets : String et ArrayList

Projet de programmation (IK3) : TP n 1 Correction

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Programmation système I Les entrées/sorties

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Programmation Web. Madalina Croitoru IUT Montpellier

Manuel d'installation

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

PHP 4 PARTIE : BASE DE DONNEES

Programme Compte bancaire (code)

Programmer en JAVA. par Tama

TD3: tableaux avancées, première classe et chaînes

Corrigé des TD 1 à 5

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Création d objet imbriqué sous PowerShell.

.NET - Classe de Log

Langage Java. Classe de première SI

Programmation avec des objets : Cours 7. Menu du jour

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Mysql avec EasyPhp. 1 er mars 2006

Corrigé des exercices sur les références

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr


Plan du cours. Historique du langage Nouveautés de Java 7

Solutions du chapitre 4

Conventions d écriture et outils de mise au point

Présentation du langage et premières fonctions

INF 321 : mémento de la syntaxe de Java

Le prototype de la fonction main()

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Guide d interfaçage SSO Connexion des ressources aux plates-formes de type Corrélyce. Sommaire. Titre du document

Algorithmique et Programmation, IMA

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Plateforme PAYZEN. Définition de Web-services

Cours 14 Les fichiers

Recherche dans un tableau

Introduction à MATLAB R

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Perl Orienté Objet BioPerl There is more than one way to do it

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Chapitre 10. Les interfaces Comparable et Comparator 1

Tp 1 correction. Structures de données (IF2)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Introduction à JDBC. Accès aux bases de données en Java

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Gestion Electronique de Document (ECM/GED)

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

PHP. PHP et bases de données

TP1 : Initiation à Java et Eclipse

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Programmation système en C/C++

Les structures de données. Rajae El Ouazzani

Arbres binaires de recherche

Groupe Eyrolles, 2003, ISBN : X

Algorithmique et programmation : les bases (VBA) Corrigé

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Attaques applicatives

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Les fichiers. Chapitre 4

La gestion des protocoles HTTP, FTP, SOAP, etc.

AWS avancé. Surveiller votre utilisation d EC2

Informatique III: Programmation en C++

1. Structure d'un programme FORTRAN 95

PROJET 1 : BASE DE DONNÉES REPARTIES

Introduction au langage C

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Convers3 Documentation version Par Eric DAVID : vtopo@free.fr

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Programmation système de commandes en C

Représentation d un entier en base b

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

PDO : PHP Data Object 1/13

Package Java.util Classe générique

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Cours 6 : Tubes anonymes et nommés

Transcription:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Annuaire interne</title> <META http-equiv="content-type" content="text/html; charset=iso-8859-1"> </HEAD> <BODY> <FORM action="annuaire.php"> <P>Nom <INPUT type="text" name="nom"> <INPUT type="submit" value="numéro de poste"></p> </FORM> </BODY> </HTML> annuaire.php?nom=smith annuaire.txt Andre G. 35 53 Andres R. 35 52 Dupond P. 35 54 Dupont M. 36 11 Pierre L. 36 13 Radup K. 35 10 Smith J. 35 50

Ouvrir un fichier fopen(nom_fichier, mode) FALSE mode signification r Lecture (aucune modification possible), le pointeur est placé en début de fichier. w Ecriture, le pointeur est placé en début de fichier (le contenu du fichier sera effacé), si le fichier n existe pas il sera créé a Ajout, le pointeur est placé à la fin du fichier (les écritures seront réalisées en fin de fichier), crée le fichier s il n existe pas. r+ Lecture et écriture, le pointeur est placé en début de fichier w+ Lecture et écriture, le pointeur est placé en début de fichier, si le fichier n existe pas il sera créé a+ lecture et écriture en fin de document $POINTEUR = fopen("annuaire.txt", "r") ; Lire les données d un fichier o fgetc(id_ressource) o fgets(id_ressource, N) N-1! N "#$ o rewind(id_ressource) % $car = fgetc($pointeur); echo $car, "<BR>"; $chaine = fgets($pointeur, 255); echo $chaine, "<BR>" ; rewind($pointeur); $chaine = fgets($pointeur, 255); echo $chaine, "<BR>" ; rewind($pointeur); $chaine = fgets($pointeur, 5); echo $chaine, "<BR>" ; $chaine = fgets($pointeur, 255); echo $chaine, "<BR>" ; Andre G. 35 53 Andres R. 35 52 Dupond P. 35 54 Dupont M. 36 11 Pierre L. 36 13 Radup K. 35 10 Smith J. 35 50 A ndre G. 35 53 Andre G. 35 53 Andr e G. 35 53 Fermer un fichier fclose(id_ressource) FALSE

annuaire.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html> <head> <TITLE>Annuaire</TITLE> <META http-equiv="content-type" content="text/html; charset=iso-8859-1"> </HEAD> <BODY> <?php // interrompt l execution du script et affiche le message function erreur($message) { echo $message; exit; /* ------------- CORPS ---------------- */ // recupere nom=smith envoye par le formulaire // isset retourne TRUE si nom existe dans la QUERY_STRING if (!isset($_get['nom'])){ erreur("aucun nom doné"); $nom = $_GET['nom']; // ouverture en lecture du fichier annuaire // @ evite l envoi par php d un message d erreur en cas d echec $POINTEUR = @fopen("annuaire.txt","r"); if (!($POINTEUR)){ erreur("impossible d'ouvrir l'annuaire"); // lecture des donnees et recherche du nom while (!feof($pointeur)){ // tant qu il y a des donnees // on suppose qu une ligne de l annuaire est toujours < 255 $ligne = fgets($pointeur,255); // 1 ligne du fichier $exp = "^$nom"."[[:blank:]]+"; if (eregi($exp, $ligne)){ echo "<P>", htmlentities($ligne), "</P>\n"; // fermeture du fichier annuaire if (!(@fclose($pointeur))){ erreur("impossible de fermer le fichier");?> </BODY> </HTML> &

Stocker un fichier dans un tableau file(nom_fichier)( % )FALSE * Stocker un fichier dans une chaîne de caractères file_get_contents(nom_fichier) ( )+,+-.'&* FALSE <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Insertion dans l'annuaire interne</title> <META http-equiv="content-type" content="text/html; charset=iso-8859-1"> </HEAD> <BODY> <FORM action="inserer.php"> <P>Nom <INPUT type="text" name="nom"> Initiale <INPUT type="text" name="ini" size="3"> Poste <INPUT type="text" name="poste" size="5"> <INPUT type="submit" value="insérer"></p> </FORM> </BODY> </HTML> inserer.php?nom=contensin&ini=m&poste=36+19 / 0 1 &23 annuaire.txt Andre G. 35 53 Andres R. 35 52 Dupond P. 35 54 Dupont M. 36 11 Pierre L. 36 13 Radup K. 35 10 Smith J. 35 50 Contensin M. 36 19 fwrite(id_ressource, chaine) FALSE % '

Inserer.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Insertion dans l'annuaire</title> <META http-equiv="content-type" content="text/html; charset=iso-8859-1"> </HEAD> <BODY> <?php function erreur($message) { echo $message; exit; // vérifie que la chaîne reçue en argument ne comporte que des // lettres de l alphabet en minuscules ou en majuscules function verifch($ch, $ctrl) { $exp = '^[a-za-z]+$'; if (!ereg($exp, $ch)){ erreur("$ctrl incorrect"); // vérifie que le numéro de poste est correct, c est-à-dire // qu il est composé de deux chiffres suivis d un caractère // d espacement, suivi de deux chiffres function verifnb($nb, $ctrl) { $exp = '^[0-9]{2 [0-9]{2$'; if (!ereg($exp, $nb)){ erreur("$ctrl incorrect"); /* ------------- CORPS ---------------- */ // donnees du formulaire if (!isset($_get['nom'])!isset($_get['ini'])!isset($_get['poste'])){ erreur("il manque des champs"); $nom = $_GET['nom']; verifch($nom, "nom"); $ini = $_GET['ini']; verifch($ini, "initiale"); $poste = $_GET['poste']; verifnb($poste, "poste"); 4

// ouverture en ajout du fichier annuaire $POINTEUR = @fopen("annuaire.txt","a"); if (!($POINTEUR)){ erreur("impossible d'ouvrir l'annuaire"); // ajout de la ligne $ligne = "$nom $ini. $poste\n"; $nb = fwrite($pointeur, $ligne); if (!$nb){ erreur("échec de l'écriture"); // fermeture du fichier annuaire if (!(@fclose($pointeur))){ erreur("impossible de fermer le fichier"); echo "<P>insertion réussie :<br>$ligne</p>";?> </BODY> </HTML>! fpassthru(id_ressource)! $ "#$ ) * readfile(nom_fichier)! <?php @readfile("annuaire.txt");?> 2

" # $! #6,77+ o method.post o enctype.multipart/form-data traite_upload.php lorsque l argument fichier n a pas été envoyé traite_upload.php avec l argument fichier qui a été envoyé o +,+-.'% $HTTP_POST_FILES o +,+-.'% 8% $_FILES 0 9% 9 9:! file /%! )name* )size*! 1/1 )type* # ( )tmp_name* )error*+,+-.' 5

+ 9 X :,71 <$_FILES['X']['size'] < 8 = >! +?@7 @! file = >A!9! < formulaire<# formulaire; 6 % # @ 9 $ %=! > = > B % $fichier# % $_FILES0 86 % #! C ( ) *! 1/1 < % + 0 # % ( < )%style DIV* <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Envoi de fichier</title> <META http-equiv="content-type" content="text/html; charset=iso-8859-1"> </HEAD> <BODY> <?php if (isset($_files['fichier'])){ $fichier = $_FILES['fichier']; foreach ($fichier as $cle=>$val){ echo "$cle = $val<br>"; echo "<DIV style=\"white-space:pre; border:groove\">"; readfile($fichier['tmp_name']); echo "</DIV>"; unlink($fichier['tmp_name']); //suppression du fichier else{ $ch = <<<formulaire <FORM enctype="multipart/form-data" action="traite_upload.php" method="post"> <INPUT type="file" name="fichier"> <INPUT type="submit" value="envoyer fichier"> </FORM> formulaire; echo $ch;?> </BODY> </HTML> ;

% 1?B/D/0E7/?F@@A<@D/0,/@ Prototype boolean chgrp(string fich, string nomgroupe) Rôle Change le groupe d'appartenance du fichier boolean chmod(string fich, int mode) boolean chown(string fich, string owner) Change les droits d'accès selon le mode spécifié (une valeur octale) Change le propriétaire du fichier boolean rename(string fich, string fich2) Renomme fich en fich2 0 $ TRUE FALSE /FD?1 E7/?F@@A<@D/0,/@ Prototype string basename(string chemin) int filectime(string fich) int filesize(string fich) boolean file_exists(string fich) boolean is_file(string fich) boolean is_executable(string fich) boolean is_readable(string fich) boolean is_writeable(string fich) Rôle Retourne la partie nom de fichier d'un chemin Retourne la date de dernière modification du fichier (timestamp). Retourne la taille en octets du fichier. Retourne TRUE si le fichier existe. Retourne TRUE si nomfich est un fichier. Retourne TRUE si le fichier existe et est en mode exécutable. Retourne TRUE si le fichier existe et est en mode lecture. Retourne TRUE si le fichier existe et est en mode écriture. D?F07/?F@A7/<@+?A<E1 EF/+A<E7/?FBD/0,/@ Prototype string tempnam(string rep, string ch) resource fopen(string fich, string mode) boolean fclose(resource id) boolean feof(resource id) string fgetc(resource id) string fgets(resource id, int N) int fwrite(resource id, string chaine) array file(string fich) string file_get_contents(string fich) int fpassthru(resource id) int readfile(string fich) booleen rewind(resource id) Rôle Création d'un fichier temporaire unique dans le répertoire rep. Le préfixe ch est optionnel, retourne le nom du fichier temporaire ou FALSE en cas d échec Ouvre le fichier fich, selon le mode d'ouverture précisé (w = écriture, r = lecture, a = ajout en fin de fichier) et retourne un identifiant de ressource ou FALSE en cas d erreur Ferme le fichier, retourne FALSE en cas d échec Retourne TRUE si le pointeur a atteint la fin du fichier dont l identifiant est passé en argument, sinon FALSE. Retourne un caractère du fichier à partir du pointeur de fichier Retourne FALSE ou N-1 caractères du fichier à partir du pointeur courant (ou les caractères jusqu au caractère \n ) Ecrit la chaîne dans le fichier dont l identifiant est id. Retourne le nombre d octets écrits ou FALSE Retourne un tableau de N cases ou FALSE, N correspondant au nombre de lignes du fichier Retourne le contenu du fichier dans une chaîne ou FALSE Envoie le contenu du fichier dont l identifiant est id, à partir du pointeur courant ou retourne FALSE Ouvre un fichier, envoie son contenu au client et ferme le fichier. Place le pointeur au début du fichier (FALSE si échec) 3

Prototype string dirname(string chemin) boolean is_dir(string nom) boolean file_exists(string nomrep) boolean chdir(string repertoire) void closedir(resource pointeur) boolean copy(string s, string d) boolean mkdir(string nomrep) resource opendir(string nomrep) boolean rmdir(string nomrep) string readdir(resource pointeur) void rewinddir(pointeur) D?F07/?F@+?A<@+7?/@ Rôle Retourne la partie répertoire d'un chemin TRUE si nom est un répertoire TRUE si le répertoire existe Change de repertoire, renvoie TRUE en cas de succès Ferme un répertoire ouvert par opendir Copie d'un fichier s vers une destination d Crée un nouveau répertoire Ouvre un répertoire Supprime le répertoire Pour lire un élément du répertoire (retourne un nom de fichier ou de répertoire) Revenir au début du répertoire < +,+8 # @ # # @ # # <?php // affichage du contenu du repertoire courant $REP = opendir("."); while ($entree = readdir($rep)){ echo "$entree est un "; if (is_file($entree)){ echo "fichier de ", filesize($entree), " octets"; if (is_dir($entree)){ echo "répertoire"; echo "<BR>"; closedir($rep);?>