Découvrir les fonctions principales proposées par PHP
www.supinfo.com
Copyright © SUPINFO. All rights reserved
Bibliothèque de fonctions PHP
Objectifs de ce module
Découvrir les différentes fonctions que proposent PHP.
Savoir manipuler les entrées/sorties en PHP.
Appeler des fichiers PHP externes.
Faire interagir votre fichier PHP avec la base de données MySQL.
En suivant ce module vous allez:
Bibliothèque de fonctions PHP
Plan du module
Entrées/Sorties. Echange entre client et serveur.
Include et Require. Utilisation des fichiers PHP externes.
Autres fonctions. Chaînes de caractères, cryptages…
MySQL. Approche de PHP avec une base de données.
Voici les parties que nous allons aborder:
Bibliothèque de fonctions PHP
Entrées/Sorties
Echange client et serveur.
Bibliothèque de fonctions PHP
Plan de la partie
Sortie standard.
Buffer.
Fichiers.
Voici les chapitres que nous allons aborder:
Entrées/Sorties
Sortie standard
Communication réseau et échange entre navigateur et serveur.
Différents types de fonctions:
Manipulation de fichiers,
Affichage d'informations sur le navigateur,
…
Entrées/Sorties
Les fonctions d'entrées/sorties
Sortie standard
N'est pas vraiment une fonction.
Peut s'employer sans parenthèses.
Renvoie les paramètres sous forme de chaînes de caractères.
Entrées/Sorties
Fonction echo
echo "arg1", "arg2"…
Sortie standard
Affiche un texte ou le contenu d'une variable passée en paramètre.
Entrées/Sorties
Fonction print()
$myText = "Hello";
print($myText." World");// Hello World
Sortie standard
Affiche une chaîne de caractères formatée.
Entrées/Sorties
Fonction printf()
$num = 7;$labo = "dotnet";
printf("There are %d members in %s laboratory.", $num, $labo);// There are 7 members in dotnet laboratory.
Buffer
Contrôle des données quand elles sont envoyées par le script.
Mise en mémoire tampon des données pour les afficher ultérieurement.
N'affecte pas les en-têtes (fonction header()) ou les cookies (fonction setcookie()).
Entrées/Sorties
Notion de bufferisation de sortie.
BufferEntrées/Sorties
Notion de bufferisation de sortie.
Main.php
…<body><?php for ($x = 0; $x < 10; $x++) { echo "Hello $x<br />"; }?>// Suite d'instructions…
Page_inc.php
<?php // Fonction d'entête setcookie("cookieName", "cookieValue"); …?>
Activation bufférisation de sortie.
…<?php include("Page_inc.php");?>
Envoi des données.
include
Buffer
Démarre la bufferisation de sortie.
Aucune donnée (sauf les en-têtes) n'est envoyée au navigateur, mais est mise en buffer.
Entrées/Sorties
Fonction ob_start()
void ob_start([string output_callback]);
Buffer
Détruit les données du buffer de sortie et désactive la bufferisation de sortie.
Entrées/Sorties
Fonction ob_end_clean()
bool ob_end_clean(void);
Buffer
Envoie les données du buffer de sortie sans détruire le contenu du tampon de sortie.
Entrées/Sorties
Fonction ob_flush()
void ob_flush(void);
Buffer
Vide le buffer de sortie sans envoyer les données.
Entrées/Sorties
Fonction ob_clean()
void ob_clean(void);
Buffer
Envoie les données du buffer de sortie et détruit la bufferisation de sortie.
Entrées/Sorties
Fonction ob_end_flush()
void ob_end_flush(void);
Buffer
Retourne le contenu du buffer de sortie si la bufferisation est activée.
Entrées/Sorties
Fonction ob_get_contents()
string ob_get_contents(void);
Buffer
Active/Désactive l'envoi implicite (toute fonction qui envoie des données au navigateur verra ses données envoyées automatiquement).
Entrées/Sorties
Fonction ob_implicit_flush()
void ob_implicit_flush([int flag]);
BufferEntrées/Sorties
Démonstration
Bufférisation de
sortie
Fichiers
Lecture et écriture depuis et dans un fichier.
Alternative rapide à une base de données.
Possibilité de manipuler des fichiers se trouvant sur un serveur distant.
Entrées/Sorties
Notion d'entrées/sorties dans un fichier.
Fichiers
Ouvre un flux sur un fichier selon le ou les modes spécifiés en argument.
Entrées/Sorties
Fonction fopen()
$myFile = fopen("C:/File.txt", "mode");// mode : r, w, a, x
Fichiers
Vérifie si le chemin spécifié est un fichier.
Entrées/Sorties
Fonction is_file()
$myFile = fopen("C:/File.txt", "mode");
if (is_file("C:/File.txt")){
// Traitement si File.txt existe// et est un fichier (≠ dossier)
}
Fichiers
Lit le fichier jusqu'à la longueur spécifiée en argument ou la fin du fichier.
Entrées/Sorties
Fonction fread()
$myFile = fopen("C:/File.txt", "mode");
if (is_file("C:/File.txt")){
$myLine = fread($myFile,filesize("C:/File.txt"));
echo $myLine;// Lit tout le fichier// et affiche son contenu
}
Fichiers
fgets()
Lit la ligne courante sur laquelle se trouve le pointeur.
file_get_contents()
Lit l'ensemble d'un fichier.
Revient à appeler les fonctions fopen(), fread(), et fclose() successivement.
Entrées/Sorties
Autres fonctions de lecture.
fgets($myFile, 1024);
file_get_contents($myFile);
Fichiers
Ecrit dans le fichier ce qui est passé en argument à l'endroit où est positionné le pointeur de fichier.
Entrées/Sorties
Fonction fwrite()
$myFile = fopen("C:/File.txt", "mode");
if (is_file("C:/File.txt")){
$myLine = fread($myFile,filesize("C:/
File.txt"));echo $myLine;
fwrite($myFile, "Hello Php");// Ecriture de 'Hello Php'
}
Fichiers
fputs()
Alias de fwrite().
file_put_contents()
Ecrit une chaîne dans un fichier.
Revient à appeler les fonctions fopen(), fwrite(), et fclose() successivement.
Entrées/Sorties
Autres fonctions d'écriture.
fputs($myFile, "Hello Php");
file_put_contents($myFile, "Hello Php");
Fichiers
Ferme le flux sur le fichier spécifié en argument.
Entrées/Sorties
Fonction fclose()
$myFile = fopen("C:/File.txt", "mode");
if (is_file("C:/File.txt")){
$myLine = fread($myFile,filesize("C:/
File.txt"));echo $myLine;
fwrite($myFile, "Hello Php");}
fclose($myFile);// Fermeture du flux sur le fichier
FichiersEntrées/Sorties
Démonstration
Lecture et
écriture dans un
fichier
Avez-vous des questions?Entrées/Sorties
Include et Require
Inclure des fichiers
Bibliothèque de fonctions PHP
Plan de la partie
Include
Require
Voici les chapitres que nous allons aborder:
Include et Require
Include
Inclure un fichier dans le code et l'exécuter
N'importe quel type de fichier (html,javascript,php..)
Fichier distant à partir de la version 4.3.0
Include et Require
Principe
include 'mapage.php';
Include
Page principale
Page appelée
Include et Require
Exemple simple :
<?phpinclude 'mapage.php';?>
<?phpecho "hello world !!";?>
Include
Les fonctions et les classes appelées ont une portée globale
Les variables sont accessibles par le fichier appelé à partir du point d'inclusion
Include et Require
Accès aux variables
IncludeInclude et Require
Démonstration
Accès aux
variables
Include
Si le fichier appelé n'est pas trouvé
Un simple « warning »
Le script ne s'interrompt pas
Include et Require
Gestion d'erreur
Require
Identique au include
Include et Require
Principe
require 'mapage.php';
Require
Page principale
Page appelée
Include et Require
Exemple simple :
<?phpfunction hello(){ require 'mapage.php';}?>
<?phpecho "hello world !!";?>
Require
Identique à include
Include et Require
Accès aux variables :
Require
Si le fichier appelé n'est pas trouvé
Erreur fatale
Le script s'arrête
Include et Require
Gestion d'erreur
RequireInclude et Require
Démonstration
Gestion d'erreur
Avez-vous des questions ?Include et Require
Autres fonctions
Encore des fonctions
Bibliothèque de fonctions PHP
Plan de la partie
Chaînes de caractères
Expressions régulières
Cryptage et hachage
Gestion d’erreur
Configuration
Voici les chapitres que nous allons aborder:
Autres fonctions
Chaînes de caractères
Affiche une chaîne de caractères
Autres fonctions
Le célèbre echo
$str = "ma chaîne";echo $str;
Chaînes de caractères
Ajoute des ‘\’ dans une chaîne de caractères
Permet d’échapper automatiquement tous les caractères qui doivent l’être
Autres fonctions
addslashes()
$str = "l'autre chaîne";echo addslashes($str);// l\'autre chaîne
Chaînes de caractères
Coupe une chaîne selon un séparateur
Retourne un tableau
Taille limite du tableau de sortie spécifiable
str_split()
Différence par rapport à explode()
Coupe une chaîne tous les n caractères
Autres fonctions
explode()
Chaînes de caractèresAutres fonctions
Exemples :
$str = "ma_chaîne";
$tableau=explode('_',$str,2); $tableau = str_split($str,3);
[0] ma[1] chaîne
[0] ma_[1] cha[2] îne
Chaînes de caractères
Rassemble les éléments d’un tableau en une chaîne
Inverse de explode()
Alias join()
Autres fonctions
implode()
$str = array("une","chaine"); echo implode("|",$str);
Chaînes de caractères
Remplace les occurrences dans une chaîne
Retourne une chaîne ou un tableau
A voir strstr() également
str_ireplace()
Insensible à la casse
Autres fonctions
str_replace()
$str = "Une chaîne";echo str_replace("Une","Ma",$str);
Chaînes de caractères
Retourne une portion de chaîne
Depuis un index
Longueur de la chaîne spécifiable
Voir aussi substr_replace()
Remplace un segment dans la chaîne
Autres fonctions
substr()
$str = "Ma_chaîne"; echo substr($str,4,5);// haîne
Expressions régulières
Qu’est-ce qu’est une expression régulière ?
Modèle d’une chaîne de caractères en ASCII
Manipulation de chaînes de caractères
Correspondance
modèle chaîne de caractères
Autres fonctions
Petit rappel
Expressions régulières
Début de chaîne ^
Fin de chaîne $
Caractère d’échappement \
Autres fonctions
Les bases
"^un" // commence par "un" "chaîne$" //fini par "chaîne""_ch" // contient "_ch" "^une chaîne$" // exactement "une chaîne"
Expressions régulières
Au moins un +
N’importe quel nombre, zéro y compris *
Zéro ou un ?
Spécifier le nombre d’occurrences {n,m}
n minimum
m maximum
Autres fonctions
Les bases
"chaîne+$" // se termine par un ou plusieurs 'e'
"(chaîne)*$" // se termine par plusieurs ou aucun "chaîne"
Expressions régulières
OU |
N’importe quel caractère .
Ensemble de caractères [ ]
[a-z] , [A-Z] , [^A-Z]
Autres fonctions
Les bases
"([a-z]|8)$" // se termine par une minuscule ou 8
Expressions régulières
[:classe:]
[:alnum:] alphanumérique
[:blank:] espacement
[:punct:] ponctuation
Autres fonctions
Les classes de caractères
"[[:punct:]]+$" // se termine par au moins une ponctuation
Expressions régulières
Teste la correspondance entre une expression régulière et une chaîne de caractères
Retourne un booléen et stocke le résultat dans un tableau
eregi() insensible à la casse
Autres fonctions
ereg()
$str="Tornado";
if(ereg("^T.*o$",$str)){ echo "ça correspond";} else { echo "ou pas :)"; }
Expressions régulières
Remplace les occurrences correspondantes à l’expression rationnelle dans la chaîne
Retourne un booléen et stocke le résultat dans un tableau
eregi_replace() insensible à la casse
Autres fonctions
ereg_replace()
$str="Tornado"; echo ereg_replace("^T.*o$", "Zorro",$str);
Expressions régulières
Ressemble à str_split() et explode()
Découpe une chaîne selon une expression régulière
spliti() insensible à la casse
Autres fonctions
split()
$str="Ohh, une phrase avec des mots !!!";$montab = split(" +",$str);
Cryptage et hachage
Rendre incompréhensible la lecture d'un document.
Sécurisation des échanges.
Utilisation d'algorithmes:
MD5, SHA1, DES,...
Autres fonctions
Introduction au cryptage.
Cryptage et hachage
Chiffre une chaîne de caractères avec un des algorithmes disponibles sur la machine (DES standard par défaut).
Indéchiffrable (algorithme à sens unique).
Autres fonctions
crypt()
$str = "Superman";
$myCryptedPass = crypt($myPass, 'rr');// Encryption de $myPass// avec l'algorithme DES standard
echo $myCryptedPass;// Affiche 'rrYR1zaefNnzM'
Cryptage et hachage
Calcule le MD5 de la chaîne de caractères.
Retourne un nombre hexadécimal de 32 caractères.
Autres fonctions
md5().
$myPass = "Superman";
$myCryptedPass = md5($myPass);// Encryption de $myPass// avec Message-Digest Algorithm
echo $myCryptedPass;// Affiche// 'd41d8cd98f00b204e9800998ecf8427e'
Cryptage et hachage
Calcule le SHA1 de la chaîne de caractères.
Retourne un nombre hexadécimal de 40 caractères.
Autres fonctions
sha1().
$myPass = "Superman";
$myCryptedPass = sha1($myPass);// Encryption de $myPass// avec Secure Hash Algorithm 1
echo $myCryptedPass;// Affiche// 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
Cryptage et hachage
md5_file().
Calcul le md5 d'un fichier.
Sha1_file().
Calcul le sha1 d'un fichier.
Autres fonctions
Cryptage de fichier.
$myFile = @"C:/File.txt";$myCryptedPass = md5_file($myFile);
$myFile = @"C:/File.txt";$myCryptedPass = sha1_file($myFile);
Gestion d’erreur
Depuis PHP 5
Nouvelle méthode pour la gestion d’erreur
Utilisation de la classe de bas niveau Exception
3 variable
5 méthodes
Autres fonctions
Gestion d’erreur
Les 3 variables de cette classe
message
Paramètre passé au constructeur de la classe
line
La ligne où à eu lieu l’erreur
file
Le nom du fichier où à eu lieu l’erreur.
Autres fonctions
Exception
Gestion d’erreur
Les 5 méthodes de cette classe
getMessage()
Retourne le message placé en paramètre du constructeur
getLine()
Retourne le numéro de la ligne de l’erreur
getFile()
Retourne le nom du fichier où à eu lieu l’erreur
Autres fonctions
Exception
getTrace($file, $line, $function, $class, $type, $args)
Retourne un tableau associatif contenant
Autres fonctions
Exception
file Le nom du fichier
line Le numéro de la ligne
function La fonction concernée
class La classe concernée
type Le type d’appel à la méthode
args Le tableau contenant les arguments passés
Gestion d’erreur
getTraceAsString()
Renvoie une chaîne de caractères contenant les mêmes informations retournées par getTrace().
Autres fonctions
Exception
Gestion d’erreur
Le mot clé throw permet de lever l’exception
Le bloc try catch permet de capturer les exceptions levées et d’effectuer un traitement approprié.
Autres fonctions
Utilisation de la classe Exception
Gestion d’erreur
try { if(!@fopen('big.fake', 'r')) { throw new Exception ('Impossible d\'ouvrir le fichier'); }} catch (Exception $e) { echo $e -> getMessage();}
Il est possible de personnaliser la classe Exception
En créant une classe qui hérite de celle-ci
– Accès à toutes les méthodes de Exception et celles définies dans la nouvelle classe.
Autres fonctions
Héritage
Gestion d’erreur
class MonException extends Exception {
public function __construct($msg) { parent :: __construct($msg); } public function newfunction()
{//traitement
}}
Via plusieurs commandes PHP donne un accès à un certain nombre d’information
Configuration à l’exécution
Extensions chargées
Version
…
Autres fonctions
La configuration de PHP
Configuration
Affiche de nombreuses informations sur PHP
Autres fonctions
phpinfo()
Configuration
Permet de charger une extension PHP à la volée
php.ini pour définir le dossier de chargement
Autres fonctions
dl()
Configuration
dl(‘modulename.extension');
extension_dir = "monchemin"
Teste si une extension est chargée
Renvoie un booléen
Autres fonctions
extension_loaded()
Configuration
extension_loaded(‘modulename.extension');
get_cfg_var('option_name')
Retourne la valeur d’une option PHP
getmygid()
Retourne le GID du propriétaire du script
getmypid()
Retourne le PID du propriétaire du script
getmyuid()
Retourne L’UID du propriétaire du script
get_current_user()
Retourne le nom du propriétaire du script courant
Autres fonctions
Les "getters"
Configuration
Permet de modifier la valeur d’une option PHP
Autres fonctions
ini_set()
Configuration
ini_set(‘time_limit‘,1);// spécifie le temps limite d’exécution d’un script
Avez vous des questions ?Autres fonctions
MySQL
Approche de PHP avec une base de données.
Bibliothèque de fonctions PHP
Plan de la partie
Présentation MySQL.
Gestion des connexions.
Création des requêtes.
Affichage des résultats.
Voici les chapitres que nous allons aborder:
MySQL
Présentation MySQL
Serveur de base de données SQL Open Source le plus populaire.
SGBD le plus couramment utilisé avec PHP.
Interface de gestion PHPMyAdmin.
Rapide, fiable, robuste et portable.
Sécurisé.
Droits d'accès, privilèges...
MySQL
Quand l'éléPHPant rencontre le dauphin !
Présentation MySQL
Connexion au serveur MySQL;
Sélection de la base de données;
Exécution de la requête;
Récupération des données;
Libération de la mémoire;
Fermeture de la connexion.
MySQL
Processus de manipulation de base de données.
Gestion des connexions
Connexion au serveur MySQL.
MySQL
Fonction mysql_connect()
$db = mysql_connect('localhost', 'username', 'password');// Connexion au server 'localhost'// avec le login 'username'// et le mot de passe 'password"
Gestion des connexions
Sélection de la base de données.
MySQL
Fonction mysql_select_db()
$db = mysql_connect('localhost', 'username', 'password');
mysql_select_db('database', $db);// Sélection de la bdd 'database'
Gestion des connexions
Fermer la connexion à la base de données.
A utiliser à la fin des manipulations sur la base de données.
MySQL
Fonction mysql_close()
$db = mysql_connect('localhost', 'username', 'password');
mysql_select_db('database', $db);
mysql_close($db);// Fermeture de la connexion à $db
Création des requêtes
Exécuter une requête sur la base de données.
MySQL
Fonction mysql_query()
$db = mysql_connect('localhost', 'username', 'password');
mysql_select_db('database', $db);
$sqlRequest = "SELECT * FROM Students;";$res = mysql_query($sqlRequest); // Execute la requête '$sqlRequest'
mysql_close($db);
Affichage des résultats
Récupérer le résultat d'une requête.
MySQL
Fonction mysql_fetch_array()
// …Connexion à la bdd…
$sqlRequest = "SELECT * FROM Students;";$res = mysql_query($sqlRequest);
while($data = mysql_fetch_array($res)){echo $data['SCT']."<br />";// Affiche le contenu de la colonne// 'SCT' de la base de données.
}
mysql_close($db);
Affichage des résultats
Libérer le résultat de la mémoire.
MySQL
Fonction mysql_free_result()
// …Connexion à la bdd…
$sqlRequest = "SELECT * FROM Students;";$res = mysql_query($sqlRequest);
while($data = mysql_fetch_array($res)){echo $data['SCT']."<br />";
}mysql_free_result($res);// Libère la mémoire et les ressources// utilisé par '$res'
mysql_close($db);
Avez-vous des questions ?MySQL
Autres fonctionsAutres fonctions
MySQL & PHPMySQL & PHP Entrées/Sorties
Entrées/Sorties
Résumé du module
IncludeRequireIncludeRequire
Bibliothèque de fonctions PHP
Félicitations
Vous avez suivi avec succès le module de cours
Bibliothèque de fonctions PHP
Fin
Visitez le site officiel !
http://www.php.net
Bibliothèque de fonctions PHP