Besoin d'aide pour decrypter script php
Résolu
debutant
-
debutant -
debutant -
bonjour , j'ai du mal a interpréter deux ligne du code php ci dessous
je mettrais en gras a coter de la ligne ce que je ne comprend pas
<?php
$dir = isset($_POST['dir']) ? $_POST['dir'] : '';
$fic = isset($_POST['fic']) ? $_POST['fic'] : '';
$dir = (!empty($dir)) ? $dir : '.';
if(!empty($fic)) {
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if($file == $fic) {
echo '<br/>le fichier est trouvé<br/>';
}
}
closedir($handle);
}
}
?>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="POST" >
<p><label for="dir">répertoire :</label><input id="dir" type="text" name="dir" /></p>
<p><label for="fic">fichier :</label><input id="fic" type="text" name="fic" /></p>
<p><input type="submit" value="go" /></p>
</form>
je mettrais en gras a coter de la ligne ce que je ne comprend pas
<?php
$dir = isset($_POST['dir']) ? $_POST['dir'] : '';
$fic = isset($_POST['fic']) ? $_POST['fic'] : '';
$dir = (!empty($dir)) ? $dir : '.';
if(!empty($fic)) {
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if($file == $fic) {
echo '<br/>le fichier est trouvé<br/>';
}
}
closedir($handle);
}
}
?>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="POST" >
<p><label for="dir">répertoire :</label><input id="dir" type="text" name="dir" /></p>
<p><label for="fic">fichier :</label><input id="fic" type="text" name="fic" /></p>
<p><input type="submit" value="go" /></p>
</form>
A voir également:
- Besoin d'aide pour decrypter script php
- Dvd decrypter - Télécharger - Copie & Extraction
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
4 réponses
Hello,
$_POST['dir']
c'est ce que tu as recuperer du formulaire de la page precedente.
$_POST recupere les element d'un formulaire postée en POST (Contrairement a GET)
['dir']: C'est la valeure rentrée dans le champs appelée 'dir'
(false !== ($file = readdir($handle))):
$handle est une variable qui a ete cree plus haut et qui contient un fichier externe $dir. ($dir doit l'adresse du fichier)
> en gros la boucle est ouverte tant que le fichier ouvert $dir peut etre lu..
A+,
Pierre
$_POST['dir']
c'est ce que tu as recuperer du formulaire de la page precedente.
$_POST recupere les element d'un formulaire postée en POST (Contrairement a GET)
['dir']: C'est la valeure rentrée dans le champs appelée 'dir'
(false !== ($file = readdir($handle))):
$handle est une variable qui a ete cree plus haut et qui contient un fichier externe $dir. ($dir doit l'adresse du fichier)
> en gros la boucle est ouverte tant que le fichier ouvert $dir peut etre lu..
A+,
Pierre
En ce qui concerne la première portion de code mise en gras, je me demande si "débutant" n'avait pas plutôt un problème pour interprérer la structure avec point d'interrogation.
On appel ça un "opérateur ternaire".
Tu en trouveras une bonne présentation à cette page : PHP - Les structures conditionnelles
Mais pour résumer
$dir = isset($_POST['dir']) ? $_POST['dir'] : '';
revient à faire
if ( isset($_POST['dir']) ) $dir = $_POST['dir'] ;
else $dir = '';
On appel ça un "opérateur ternaire".
Tu en trouveras une bonne présentation à cette page : PHP - Les structures conditionnelles
Mais pour résumer
$dir = isset($_POST['dir']) ? $_POST['dir'] : '';
revient à faire
if ( isset($_POST['dir']) ) $dir = $_POST['dir'] ;
else $dir = '';
et quant à while (false !== ($file = readdir($handle))), on peut peut-être entrer dans le détail :
!== signifie "différent, et de type différent".
C'est un peu comme != (qui signifie "différent de"), à ceci près qu'on considère que 0 est différent de false et de null.
Ca évite parfois des confusions.
$file = readdir($handle) retourne le contenu du dossier $handle dans $file, mais un fichier à la fois.
La première fois que tu fais $file = readdir($handle), $file prendra la valeur du premier fichier, la deuxième fois du deuxième, etc. Et quand tous fichiers auront été passés en revue, $file prendra false pour valeur.
la structure while (false !== ($file = readdir($handle))) signifie donc que la boucle while va se répéter en attribuant à chaque fois à $file la valeur d'un des fichiers du dossier $handle, jusqu'à ce que tous les fichiers de $handle aient été examinés.
Voilà.
Ca te semble clair ?
!== signifie "différent, et de type différent".
C'est un peu comme != (qui signifie "différent de"), à ceci près qu'on considère que 0 est différent de false et de null.
Ca évite parfois des confusions.
$file = readdir($handle) retourne le contenu du dossier $handle dans $file, mais un fichier à la fois.
La première fois que tu fais $file = readdir($handle), $file prendra la valeur du premier fichier, la deuxième fois du deuxième, etc. Et quand tous fichiers auront été passés en revue, $file prendra false pour valeur.
la structure while (false !== ($file = readdir($handle))) signifie donc que la boucle while va se répéter en attribuant à chaque fois à $file la valeur d'un des fichiers du dossier $handle, jusqu'à ce que tous les fichiers de $handle aient été examinés.
Voilà.
Ca te semble clair ?