Programmation serveur web cours 11 & 12 : php

De
Publié par

Programmation serveur web cours 11 & 12 : php
  • balise input
  • fichier dans la syntaxe php
  • programmation côté
  • fichier html intégrant des balises de programmation
  • php
  • nom du fichier
  • serveur
  • serveurs
  • fichier
  • fichiers
  • html
  • date
  • dates
Publié le : mardi 27 mars 2012
Lecture(s) : 64
Source : deptinfo.unice.fr
Nombre de pages : 37
Voir plus Voir moins

Programmation serveur web
cours 11 & 12 : php
F
F
F
F
F
l
GENERALITES
Langage : PHP (hypertext preprocessor)
Extension : .php, .php3, .phtml (configuration du serveur web)
Un pré processeur de HTTP qui fonctionne avec « tous » les serveurs Web
Un langage (v5 actuellement) de typage dynamique et orienté objet
v4 sur corbieres (www-mips.unice.fr)
Une intégration parfaite avec HTML : un fichier dans la syntaxe PHP est un
fichier HTML intégrant des balises de programmation <?PHP … ?>
Partie client Partie serveur
Protocole App.
de l’application de l’application
Navigateur
Outils PHPHTML HTTPDHTTPProg.
80TCP/IP TCP/IP
IPW : programmation côté
2
serveurF
l
l
l
l
F
l
F
l
l
Téléchargement d’un fichier
Méthode post
exemple-cours10/unfichier.html
Le champs caché MAX_FILE_SIZE (mesuré en octets) doit précédé le champ input de
type file et sa valeur représente la taille maximale acceptée du fichier.
Variable globale $_FILES ('userfile‘ est le nom donné en html à la balise input)
$_FILES['userfile']['name'] : Le nom original du fichier, tel que sur la machine du client
web.
$_FILES['userfile']['type'] : Le type MIME du fichier, si le navigateur a fourni cette
information. Par exemple, cela pourra être "image/gif".
$_FILES['userfile']['size'] : La taille, en octets, du fichier téléchargé.
$_FILES['userfile']['tmp_name'] : Le nom temporaire du fichier qui sera chargé sur la
machine serveur.
$_FILES['userfile']['error'] : Le code d'erreur error code associé au téléchargement de
fichier. Cet élément a été introduit en PHP 4.2.0
exemple-cours10/accepteunfichier.php
IPW : programmation côté
3
serveurF
l
F
l
F
F
l
F
Téléchargement de plusieurs fichiers
Il faut passer par un tableau…
… le nom des balises input de type file sont terminé par des crochets
Le code html sera interprété comme un tableau (avec ou sans indice)
exemple-cours10/plusieursfichiers.html
Version statique
exemple-cours10/pleinsfichiers.html
Version dynamique avec javascript…
Réception : exemple-cours10/acceptefichiers.php
IPW : programmation côté
4
serveurl
F
l
l
l
l
l
F
Téléchargement de plusieurs fichiers
exemple-cours11/pleinsfichiers_v1.php
Version dynamique avec php…
exemple non encore complet : ce n’est pas la bonne méthode
Problème : se souvenir des anciens fichiers
Utilisation des input de type hidden
… mais les fichiers temporaires sont… temporaires…
Solution ?
Manipulation des fichiers en php !
IPW : programmation côté
5
serveurl
l
F
l
F
F
F
Manipulation des fichiers
Système de fichiers
Pour l’instant : uniquement des manipulations.
basename ($path, $suffix) -- Sépare le nom du fichier et le nom du dossier -- $suffix
optionel
basename( ) prend en paramètre path, le chemin complet d'un fichier et en extrait le nom
du fichier. Si suffix est fourni, le suffixe sera aussi supprimé.
<?php
$path = "/home/html/index.php";
$file = basename ($path); // $file is set to "index.php"
$file = basename ($path, ".php"); // $file is set to "index"
?>
clearstatcache -- Efface le cache de stat()
Certaines fonctions (e.g. file_exist) mettent en cache le résultat (pour l’exécution d’un
script)
clearstatcache efface ce cache
IPW : programmation côté
6
serveurl
l
l
F
l
l
F
l
l
F
l
F
l
l
F
F
l
l
F
l
Manipulation des fichiers
copy ( $source , $destination)
copy() fait une copie du fichier source vers le fichier destination.
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Utilisez rename( ) pour un déplacement
delete -- Effacer  unlink 
dirname ( $path )
Renvoie le nom du dossier du chemin complet $path
contraire de basename( )
disk_free_space ( $dossier )
Renvoie l'espace disque disponible dans le répertoire $dossier
disk_total_space ( $dossier )
lit récursivement toutes les tailles du répertoire $dossier et retourne la somme.
$dossier peut être aussi une partition de disque.
file_exists ( $filename)
Vérifie si un fichier $filename existe
Le résultat est mis en cache
fileatime ( $filename)
renvoie la date (un entier) de dernier accès au fichier $filename ou FALSE en cas d'erreur.
Utilisez date( ) sur le résultat
Le résultat est mis en cache
IPW : programmation côté
7
serveurF
l
Date
string date ( string format [, int timestamp] )
retourne une date sous forme d'une chaîne, au format donné par la chaîne format. La date est fournie
par le paramètre timestamp (un entier), sous la forme d'un timestamp. Par défaut, la date courante est
utilisée.
<?php
// Aujourd'hui, le 12 April 2006, 10:16:18 am
$aujourdhui = date("F j, Y, g:i a"); // April 12, 2006, 10:16 am
$aujourdhui = date("m.d.y"); // 04.12.06
$aujourdhui = date("j, m, Y"); // 12, 4, 2006
$aujourdhui = date("Ymd"); // 20060412
$aujourdhui = date('\C\'\e\s\t\ \l\e\ jS \j\o\u\r\.'); // C'est le 16th jour.
$aujourdhui = date("D M j G:i:s T Y"); // Wen Apr 12 10:16:18 Paris, Madrid 2006
$aujourdhui = date("H:i:s"); // 10:16:18
// notation française
$aujourdhui = date("d/m/y"); // 12/04/06
$aujourdhui = date("d/m/Y"); // 12/04/2006
?>
IPW : programmation côté
8
serveurF
l
l
F
F
strtotime
Pour générer un timestamp à partir d'une représentation de date, vous pouvez
utiliser la fonction strtotime( )
int strtotime ( string time [, int now] )
essaye de lire une date au format anglais US dans la chaîne time, et de la transformer en
timestamp Unix (le nombre de secondes depuis le 1er Janvier 1970 à 00:00:00 GMT),
relativement au timestamp now, ou à la date courante si ce dernier est omis.
Retourne un timestamp en cas de succès, FALSE sinon. Avant PHP 5.1.0, cette fonction
retournait -1 en cas d'échec.
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>
exemple-cours11/date.php
IPW : programmation côté
9
serveurl
l
F
l
l
l
l
F
l
l
l
F
l
F
l
Manipulation des fichiers
filemtime ($filename)
Renvoie la date (un entier) de dernière modification du fichier
Utilisez date( ) sur le résultat
Le résultat est mis en cache
fileperms ($filename)
Renvoie les permissions affectées à un fichier sous forme d’un entier (0777)
Le résultat est mis en cache
Il existe des fonctions pour « jouer » avec les permissions…
filesize ($filename)
Renvoie la taille d'un fichier (en octet)
Comme le type entier de PHP est signé et que de nombreuses plates-formes utilisent des entiers de
32 bits, filesize( ) peut retourner des résultats étranges pour les fichiers de taille supérieure à 2 Go
Le résultat est mis en cache
filetype -- Retourne le type de fichier
renvoie le type du fichier filename. Les réponses possibles sont : fifo, char, dir, block, link, file et
unknown.
Le résultat est mis en cache
IPW : programmation côté
10
serveur

Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.