Superglobale | Description |
---|---|
$_GET | contient les variables passées par la méthode GET |
$_POST | contient les variables passées par la méthode POST |
$_COOKIE | contient les valeurs des cookies enregistrés sur l'ordinateur du visiteur. Cela nous permet de stocker des informations sur l'ordinateur du visiteur pendant plusieurs mois, pour se souvenir de son nom par exemple. |
$_SERVER | contient les variables d’environnement (par ex. REMOTE_ADDR) |
$_ENV | contient les variables d’environnement |
$_REQUEST | Une fusion des variables $_GET, $_POST et $_COOKIE. : toutes les informations qui arrivent de l’utilisateur |
$_SESSION | contient toutes les variables qui restent stockées sur le serveur le temps de la présence d'un visiteur. |
$_FILES | elle contient la liste des fichiers qui ont été envoyés via le formulaire précédent. |
adresse IP de la machine cliente
$nomHote = gethostbyaddr($addresseHote);
La fonction gethostbyAddr() permet de convertir une adresse IP (au format XXX.XXX.XXX.XXX) en un nom de machine (plus lisible).
Affiche de nombreuses informations sur PHP
Syntaxe : void putenv ( string setting)
safe_mode_allowed_env_vars
contient une liste de préfixes, séparés par des virgules. Lorsque le "Safe Mode" est actif, l'utilisateur ne peut que modifier les variables dont le nom commence par les préfixes fournis par cette directive.PHP_
(i.e. PHP_XXX=BAR
). Note: si cette directive est vide, PHP autorisera la modification de TOUTES les variables d'environnement !!!.safe_mode_protected_env_vars
contient une liste de variables d'environnement, séparées par des virgules. Les utilisateurs ne pourront pas modifier ces variables avec la fonction putenv()
. Ces variables seront protégées même si safe_mode_allowed_env_vars
permet leur modification.
<?php
declare(strict_types=1); // pour activer le mode strict de PHP, qui permet la vérification stricte des type
//highlight_file(basename($_SERVER["PHP_SELF"]));
echo "<!DOCTYPE html>
<html lang='fr'>
<head>
<meta charset='UTF-8'>
<title>Historique des visites</title>
</head>
<body>
<h1>Bienvenue sur mon site</h1>";
// L'adresse IP du client qui demande la page courante.
$aip = $_SERVER["REMOTE_ADDR"];
$today = date("d/m/Y"); // 12/02/2023
$temps = date("H:i:s"); // 10:16:18
$time = time();
// Ecriture des informations utiles
$info = $aip." ".$today." ".$temps."\n";
echo "Visite de ", $aip, " (", gethostbyaddr($aip), ")", " le ", $today, " à ", $temps;
echo "</body></html>";
?>
Ouverture
Lecture / Ecriture
Fermeture
Exceptions:
id_fichier = fopen("fichier","mode");
6 modes d’ouverture :
fgets : lecture ligne à ligne
fgets(id_fichier,octets);
fgetc : lecture caractère à caractère
fwrite
fwrite(id_fichier,"ligne");
fclose
fclose(id_fichier);
La manipulation de fichier se fait grâce à un identifiant de fichier. Quelques fonctions :
Voici un exemple de copie d'un fichier :
<php $source = "fichier1.txt"; $cible = "fichier2.txt"; $id_source = fopen($source, "r"); $id_cible = fopen($cible, "w"); while ($ligne = fgets($id_source, 10000)) { fwrite($id_cible, $ligne); } fclose($id_cible); fclose($id_source); ?>
Utilisez la fonction opendir
pour ouvrir un dossier :
$id_dossier = opendir("dossier");
Utilisez la fonction readdir
pour parcourir un dossier :
$fichier = readdir($id_dossier);
Utilisez la fonction closedir
pour fermer un dossier :
closedir($id_dossier);
Il est possible de parcourir les répertoires grâce à ces quelques fonctions :
Change le dossier courant en $str. Retourne TRUE si succès, sinon FALSE.
Retourne le nom du dossier courant (en format chaîne de caractères).
Ouvre le dossier $str, et récupère un pointeur $d dessus si succès, FALSE sinon et génère alors une erreur PHP qui peut être échappée avec @.
Ferme le pointeur de dossier $d.
Lit une entrée du dossier identifié par $d. C’est-à-dire retourne un nom de fichier de la liste des fichiers du dossier pointé. Les fichiers ne sont pas triés. Ou bien retourne FALSE s’il n’y a plus de fichier.
Retourne à la première entrée du dossier identifié par $d.
<php $dir = "C:\dossier\"; $id_dir = OpenDir($dir); while ($sub_dir = ReadDir($id_dir)) { if (Is_Dir($dir . $sub_dir)) { echo "<b>$sub_dir</b><br>"; } else { echo "$sub_dir<br>"; } } CloseDir($id_dir); ?>