function

Eléphant du PHP | 166 Messages

04 mai 2017, 22:48

Bonjour
voici un code pour un exercice d'un cours :

Code : Tout sélectionner

<?php class Image { public function __construct() { } /* methode retournant les fichiers présents dans le repertoire où nous avons placé nos images et que nous définissons au moyen de la variable $image_dir */ public function getImages($image_dir) { // nous ouvrons le dossier $image_dir avec opendir // et affectons le résultat à la variable $handle if ($handle = opendir($image_dir)) { // while (false !== ($entry = readdir($handle))) { /* la variable $entry ne pourra pas se voir affecté les . et les .. */ if ($entry != "." && $entry != "..") { /* nous affectons le resultat dans un array */ $images[] = $entry; }}} closedir($handle); // nous fermons le repertoire avec closedir return $images ; // nous retournons le tableau de données }} Script d'affichage, fichier contenu
Si je comprend bien : $image_dir represente un repertoire avec des fichiers ?
Mais Il a bien fallu déclarer à un moment donné que : $image_dir = un chemin de répertoire ex : c:\\Image\jpg\xxx ?? sinon comment sait on que c'est un repertoire ?
j'ai le reste du code qui correspond au script d'affichage :

Code : Tout sélectionner

<?php require('class/Image.php'); $image = new Image(); // définition du chemin et de l'URL du répertoire image // chemin (path) du repertoire images $image_dir_path = $_SERVER['DOCUMENT_ROOT'] . 'projet_image/ images/'; $image_dir_url = 'http://'.$_SERVER['HTTP_HOST'] . '/projet_image/ images/'; // affectation dans la variable $images du résultat de la méthode getImages $images = $image->getImages($image_dir_path); // affichage; ?> <?php foreach ($images as $image): ?> <li><img src="<?php echo $image_dir_url. $image ?>" /></li> <?php endforeach ?>

Mammouth du PHP | 2703 Messages

05 mai 2017, 01:01

$image_dir_path = $_SERVER['DOCUMENT_ROOT'] . 'projet_image/images/';
$images = $image->getImages($image_dir_path);

il est donc passé une chaine de caractère contenant un chemin de répertoire à la fonction getImages de la classe Image.

ensuite, on pourrait appeler :
$images = $image->getImages('./');
pour afficher les images du répertoire courant.