Découvrir les fonctions principales proposées par PHP Copyright © SUPINFO. All rights reserved...

Preview:

Citation preview

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

Recommended