Académique Documents
Professionnel Documents
Culture Documents
A.U. 2011/2012
Licence SMI
Pr. E. AMEUR
DclarationDclaration-Dfinition
Une fonction peut tre dclarer l'aide de l'instruction function. function. function nom_fonction (paramtres) { Corps de la fonction } On ne prcise ni le type des paramtres, ni le type de la valeur de retour! Exemple: Exemple: function min($n1, $n2) { min($ return ( $n1 < $n2) ? $n1 : $n2; } $min = min(3, 2); // => $min vaut 2 min(3
29/03/2012
Arguments
Par dfaut, les arguments d'une fonction sont transmis par valeur. valeur. Exemple: Exemple: function inc($n1, $n2) { inc($ $n1++ ; $n2++; ++; } $a = $b = 1; inc($a,$b); // => $a et $b valent toujours 1! inc($a,$b); Si un argument est transmis par rfrence, toute modification apporte la variable paramtre modifie la variable de l'instruction d'appel. d'appel. Placer & avant le nom du paramtre afin d'indiquer que l'argument doit tre transmis par rfrence. rfrence. Exemple: Exemple: function inc($n1, &$n2) { inc($ $n1++ ; $n2++; ++; } $a = $b = 1; inc($a,$b); // => $a vaut toujours 1, $b vaut 2! inc($a,$b);
29/03/2012
Variable static
Permet de conserver les valeurs gnres par les appels prcdents de la fonction. fonction. Dclaration au dbut dune fonction. fonction. <?php $chaine = "Nombre de cours : "; function ajouteCours($mode='') { ajouteCours($ global $chaine; chaine; static $nb=0; nb=0 $nb++; // on incrmente le nombre de cours nb++; if($mode == "affiche") if($ { echo $chaine.$nb; } // on affiche le nombre de cours chaine. nb; } ajouteCours(); ajouteCours(); // nb == 1 ajouteCours(); ajouteCours(); // nb == 2 ajouteCours(); ajouteCours(); // nb == 3 ajouteCours(); ajouteCours(); // nb == 4 ajouteCours(); ajouteCours(); // nb == 5 ajouteCours("affiche"); ajouteCours("affiche"); // affiche Nombre de cours : 6 ?>
29/03/2012
<?php function afficher($text) afficher($ { print($text); print($text); } function afficherGras($text) afficherGras($ { print("<b>$text</b>"); print("<b>$text</b>"); } Donne : bonjour ! Aurevoir !
$MaFonction="afficher"; $MaFonction("bonjour !"); print("<br />\n"); $MaFonction="afficherGras"; $MaFonction("Aurevoir !"); print("<br />\n"); ?>
description Jour du mois sur deux chiffres [01..31] j Jour du mois sans les zros initiaux Jour de la semaine textuel en version longue et en anglais Jour de la semaine textuel en trois lettres et en anglais Jour de la semaine numrique [0..6] (0: dimanche) Jour de l'anne [0..365] Mois de l'anne sur deux chiffres [01..12] n Mois sans les zros initiaux Mois textuel en version longue et en anglais Mois textuel en trois lettres Anne sur 4 chiffres y Anne sur 2 chiffres Heure au format 12h [01..12] g Heure au format 12h sans les zros initiaux Heure au format 24h [00..23] G Heure au format 24h sans les zros initiaux Minutes [00..59] s Secondes [00.59] am ou pm A AM ou PM Boolen pour savoir si l'anne est bisextile (1) ou pas (0) Suffixe ordinal anglais d'un nombre (ex: nd pour 2) Nombre de jour dans le mois donn [28..31]
d I D w z m F M Y h H i a L S t
29/03/2012
Les fichiers
La manipulation de fichier se fait grce un identifiant de fichier. 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. fclose($fp) : ferme le fichier identifi par le $fp fgets($fp, $length) : lit une ligne de $length caractres au maximum fputs($fp, $str) : crit la chane $str dans le fichier identifi par $fp 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) : dtruit le fichier $file copy($source, $dest) : copie le fichier $source vers $dest rename($old, $new) : renomme le fichier $old en $new
29/03/2012
fopen
La fonction fopen permet d'ouvrir des : - fichiers dont le chemin est relatif ou absolu - ressources avec le protocoles HTTP.. Elle renvoie un identificateur $fp ou FALSE si l'ouverture choue. $fp Exemples : $fp = fopen("c:\\Appserv\\www\\exemples\\donnees.txt", "r"); fopen("c:\ Appserv\ www\ exemples\ $fp = fopen("http://www.php.net/","r");
'r' : lecture seule, 'r+: lecture et criture, 'w' : cration et criture seule, 'w+ : cration et lecture/criture, 'a: cration et criture seule ; place le pointeur de fichier la fin du fichier, 'a+:cration et lecture/criture ; place le pointeur de fichier la fin du 'a+:cration fichier.
fread
Ouvrir le fichier lui assigner un pointeur. Agir sur le fichier grce au pointeur. pointeur et extraire ses donnes dans une variable puis fermer le fichier <?php <?php $fichier="c:\\Appserv\\www\\exemples\\donnees.txt"; fichier="c: Appserv\ www\ exemples\ donnees.txt"; $mode="r"; mode="r"; if ($fp= fopen($fichier, $mode) ) fp= fopen( echo "Le fichier est ouvert"; ouvert"; else echo "Fichier impossible ouvrir"; ouvrir"; filesize( //filesize $taille = filesize($fichier) ; //filesize : retourne la taille en octets dun fichier $data= fread($fp, $taille); fread( fp, taille); if ( fclose($fp) ) echo "Le fichier est ferm"; fclose( fp) ferm"; echo $data; data; ?>
29/03/2012
fgets
<?php <?php $fichier="c:\ Appserv\ www\ exemples\ $fichier="c:\\Appserv\\www\\exemples\\donnees.txt"; $mode="r"; $fp= fopen($fichier, $mode) ; fp= fopen($fichier, $taille = filesize($fichier) ; filesize($fichier) while(! feof($fp)) while(! feof($fp)) { $ligne= fgets($fp, $taille); fgets($fp, print("$ligne <br />\n"); print("$ligne <br />\ } fclose($fp) fclose($fp) ; ?>
file
<?php <?php $fichier="c:\ Appserv\www\ exemples\ $fichier="c:\\Appserv\www\\exemples\\donnees.txt"; $data= file($fichier); //lit le contenu du fichier et le place dans un tableau foreach($data foreach($data as $ligne) print("$ligne <br />\ print("$ligne <br />\n"); ?>
29/03/2012
file_get_contents
<?php <?php $fichier="c:\\Appserv\\www\\exemples\\donnees.txt"; fichier="c: Appserv\ www\ exemples\ donnees.txt"; $data= file_get_contents($fichier); file_get_contents( fichier); /*lit lintgralit du fichier et le place en une seule fois dans une chane de caractres.*/ caractres. echo $data; data; ?>
fwrite
<?php <?php $fichier="c:\ Appserv\ www\ exemples\ $fichier="c:\\Appserv\\www\\exemples\\donnees.txt"; $mode="w $mode="w"; $fp= fopen($fichier, $mode); fp= fopen($fichier, fwrite($fp,"on fwrite($fp,"on crit ici la ligne a sauvegarder \n");
fclose($fp) fclose($fp) ;
?>
29/03/2012
file_put_contents
<?php $fichier="c:\\Appserv\\www\\exemples\\donnees.txt";
?>
29/03/2012
10
29/03/2012
11