IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ranger des fichiers dans des répertoires.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut Ranger des fichiers dans des répertoires.
    Bonsoir,

    je dispose d'un répertoire composé de fichiers image dont les différents noms s'écrivent de la forme:

    serie-001.jpg, serie_2-003.jpg
    .

    Je souhaiterais ici créer en POO qqch qui permettrait de ranger tous les images dans des répertoires intitulés serie ou serie_2 dans lesquels les différents fichiers images viendrait se ranger.

    Après avoir commencer à réfléchir, j'ai utilisé les fonctions opendir et readdir pour lister les fichiers présents dans le répertoire de départ à l'aide du code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    class Image{
        public function getImages($image_dir){
            if($handle = opendir($image_dir)){
                while(false !== ($entry = readdir($handle))){
                    if(($entry != '.') and ($entry != '..') and ($entry != '.DS_Store')){
                        $images[] = $entry;             
                    }
                }
            }
        closedir($handle);
        return $images;
        }
    }
    $image_dir = '/Applications/MAMP/htdocs/projet_image/photos/';
    $image = new Image();
    $images = $image->getImages($image_dir);
    print_r($images);
    ?>
    J'imagine qu'il faut utiliser ensuite la fonction mkdir() mais je sèche complètement sur la suite. POurriez-vous m'indiquer des pistes de réflexion, le but final étant que je code moi-même... ?


    Un grand merci d'avance pour vos propositions et vos pistes ...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    après mkdir() il faut déplacer le fichier ... quel est ton problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    Merci de vous intéresser à mon problème ! Pour déplacer le fichier comme vous le suggérez, faut-il mettre en place un système d upload avec la fonction move_uploaded_file() ?

    En fait je me demande comment ranger les fichiers dans les répertoires adéquats ! Le numéro présent dans le nom de fichier série-001.jpg me perturbe grandement !

    Merci encore

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourquoi un upload ? On parle bien de fichiers qui sont déjà sur le serveur non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    Re,

    Je parlais d'upload à cause de la fonction move_uploaded_file qui permet de déplacer des dichiers mais effectivement les fichiers images sont deja sur le serveur local APACHE. Après quelques recherches, on peut soit copier/supprimer les fichiers soit ls renommer. Mais se pose toujours la même question comment faire dire en php que le fichier intitulé serie-002.jpg doit aller doit aller dans le répertoire intitulé serie (en fait s'affranchir du 001) ?

    Mercci encore

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Avec explode par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $name =  'serie-002.jpg';
    $explode = explode("-', $name);
    $dir = $explode[0];
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer des fichiers dans des repertoires et sous répertoires
    Par philcphilc dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 05/09/2013, 19h37
  2. Réponses: 2
    Dernier message: 03/09/2008, 17h14
  3. Récupération du noms des fichiers dans un répertoire
    Par tulipelover dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 03/08/2008, 21h47
  4. Impossible de créer des fichiers dans un répertoire
    Par isabelle674 dans le forum Solaris
    Réponses: 11
    Dernier message: 24/01/2008, 00h04
  5. lire le nom des fichiers dans un répertoire
    Par wonderboutin123 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/11/2007, 04h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo