-
Comment vérifier la syntaxe d'une adresse e-mail contenue dans la variable $email ?
- strpos($email,"*@*.*")
- ereg($email,"[:alpha:]*@[:alpha:]*\.[:alpha:]*")
- preg_match("/^(\w|-)+@((\w|-)+\.)+[a-z]{2,6}$/i",$email)
- La fonction
strpos()
trouve la position d'un caractère dans une chaîne. Ici, l'expression*@*.*
est recherchée.
- Dans la deuxième proposition, les arguments sont inversés bien que l'expression de vérification puisse être correcte.
- La fonctionpreg_match()
associée au motif cité permet de s'assurer que la variable$email
correspond bien à une adresse standard. -
Par défaut, dans quel ordre de priorité sont affectées les variables envoyées par HTTP ?
- get, cookie, post
- post, get, cookie
- get, post, cookie
- post,cookie, get
L'ordre de priorité est GET, POST, COOKIE (intitulé GPC comme toutes les fonctions y faisant référence).
Cet ordre peut être modifié en redéfinissant la variables_order dans le fichier de configuration php.ini -
Comment définit-on le constructeur d'une classe (compatible PHP3/4/5) ?
- grâce à public static void()
- en utilisant __construct()
- en nommant la fonction comme la classe
-
public static void()
n'est pas une fonction à proprement parler en PHP.
-__construct()
est le nom de la fonction à écrire pour implémenter un constructeur dans l'objet en PHP5.
- En PHP3/4, le constructeur est une fonction qui a le même nom que la classe. En PHP5, on utilise la fonction__construct()
.
Si__construct()
est absente, PHP5 acceptera une fonction portant le nom de la classe comme constructeur. -
Comment mémorise-t-on de façon pratique une variable d'un script à l'autre sur un serveur web ?
- Grâce à serialize()
- En utilisant $_SESSION
- Au moyen de register_globals()
- La fonction serialize() permet de stocker ou passer des valeurs entre scripts, sans perdre ni leur structure, ni leur type.
- Tous les éléments de $_SESSION sont automatiquement enregistrés dans la session courante.
- register_globals() permets de définir si oui ou non les variables EGPCS (Environment, GET, POST, Cookie, Server) seront enregistrées comme des variables globales.
A noter que l'on peut également utiliser la fonction session_register(). Elle enregistre toutes les variables de nom donné en argument dans la session courante lorsque register_globals est activée.
En savoir plus : session_register().
Note : Attention, l'utilisation des variables de sessions peut provoquer des effets secondaires indésirables. -
Quelle fonction de bufferisation (temporisation) envoie au navigateur les données contenues par le tampon, et stoppe la tamporisation de sortie ?
- ob_flush()
- ob_end_flush()
- ob_get_flush()
- ob_end_flush envoie les données du tampon de sortie et éteint la tamporisation de sortie.
- ob_flush() envoie le tampon de sortie.
- ob_get_flush() vide le tampon, le retourne en tant que chaîne et stoppe la tamporisation. -
De quelle façon autorise-t-on l'accès à un fichier
- en lecture/écriture/exécution pour le propriétaire
- en lecture/écriture pour le groupe
- en lecture pour les autres
?- chmod('fichier',0764);
- chmod('fichier','u+wrx g+rw o+r');
- chown('fichier','0777');
- La fonction chmod() change le mode du fichier. Le paramètre mode est constitué de quatre valeurs octales (trois en décimal) qui spécifient les droits pour le propriétaire, le groupe du propriétaire et les autres, respectivement. Chaque composant peut être calculé en ajoutant les droits désirés. Le chiffre 1 donne les droits d'exécution, le chiffre 2 les droits d'écriture et le chiffre 4 les droits de lecture. Ajoutez simplement ces nombres pour spécifier les droits voulus.
- La fonction chown() permet de changer le groupe propriétaire du fichier. -
Quel mot clé permet de conserver la valeur d'une variable locale dans une même fonction appelée plusieurs fois de suite ?
- global
- const
- static
- Le niveau global permet à une variable d'être utilisée dans la fonction et à l'extérieur de celle-ci.
- Le niveau const est inexistant en php.
- Le niveau static permet de définir une variable locale à la fonction, qui persiste durant le temps de l'exécution du script. Elle conservera ses différentes valeurs à chaque nouvel appel de la fonction. -
Quelle fonction permet d'obtenir les informations suivantes à propos d'un fichier : date de dernier accès, date de modification, date de création ?
- stat()
- filemtime()
- filegroup()
stat() retourne un tableau contenant diverses informations à propos d'un fichier, dont les différentes dates mentionnées, la taille en octets, etc.
- La fonction filemtime() renvoie la date de dernière modification du fichier.
- La fonction filegroup() renvoie le groupe qui possède le fichier filename. -
Quelle méthode permet d'attraper par défaut les exceptions lancées par un script, à l'aide d'une fonction propre
function gestion_exception($e) { ... }
?- $handler->setdefault('gestion_exception');
- set_exception_handler('gestion_exception');
- exception_handler($e) = gestion_exception();
- set_exception_handler('gestion_exception'); définit le gestionnaire d'exceptions par défaut si une exception n'est pas attrapée avec un bloc d'essai/d'attrape. L'exécution sera stoppée après l'appel à la fonction gestion_exception.
- Les autres syntaxes n'existent pas en PHP. -
$a = M_PI;
$b = &$a;
Sachant qu'au cours de l'éxécution du script, $a = 10, que vaudra pow($b,2) * sqrt(3)/2 + $a; ?- pi² sqrt(3)/2 + 10
- pi² sqrt(3)/2 + pi
- Quel est le tordu qui a pu pondre un truc pareil ?
- 50 sqrt(3) + 10
La syntaxe $b = &$a; indique que la valeur de la variable $a n'est pas copiée dans la variable $b.
La variable $b fait référence à la variable $a.
Les deux variables pointent vers la même zone de mémoire et la modification de l'une des deux variable se répercute sur l'autre.
Donc, la valeur de $b sera la même que la valeur de $a, à savoir 10.
Le reste n'est qu'une histoire de calcul :$b = 10 pow($b,2) = 100 pow($b,2) * sqrt(3)/2 + $a = 100 * sqrt(3)/2 + 10 pow($b,2) * sqrt(3)/2 + $a = 50 sqrt(3) + 10
Résultats du Quiz PHP difficile
Score 0/10
Le verdict de Morpheus

As-tu bien compris le principe de cocher les cases ?