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 :

Conditions et exclure des médias


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut Conditions et exclure des médias
    Bonjour a tous, j'ai un souçis je n'arrive pas ajouter une condition pour tester si le dossier minialbum contient bien des images en excluant les autres média afin de ne pas les afficher.
    je me suis inspiré de ceci http://be.php.net/opendir dans la doc pour construire ceci :
    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
    # Si dossier créer 
    			if ($handle_ft = @opendir($core->blog->public_path."/minialbum")) {
    				// traverser un dossier correctement
    	 		  while (false !== ($file_ft = readdir($handle_ft))) {
    			       if ($file_ft != "." && $file_ft != "..") {
    				   	  if (substr($file_ft,0,1)!="."){
    					  	$verifimg.=','.$file_ft;
    			           	$mesimg_ft[$cpt_ft] = $file_ft;
    			           	//incremente 
    					   	$cpt_ft++;
    					  }
    			       }
    			 }
    		   	 closedir($handle_ft);
    		}#sinon j'affiche
    Le but est simplement d'afficher les images se trouvant dans ce dossier et sinon afficher un message d'erreur mais aussi exclure de l'affichage les autres média tel que des fichiers texte, audio, ou autre.

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Peut etre avec le type mime des fichiers? en utilisant mime_content_type()
    et en vérifiant que c'est bien une image parmis la liste des types mime pour une image.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Cette fonction est déconseillée par php , n'y aurai il pas une autre alternative au moins pour tester la présence de fichier dans le dossier ???
    genre si pas de fichier dans le dossier renvoie un message
    car je détecte déjà la présence du dossier plus loin dans le script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $chemin = http::concatURL($core->blog->url,$core->blog->settings->public_url.'/minialbum/');		
    		$return = '<div class="aff_div" id="minialbum">';		
    		$return .= '<h2>'.$titre.'</h2>';
    		$return .= '<div style="text-align: center;">'.$description.'</div><br />';
    if (is_dir($core->blog->public_path."/minialbum")){
    		foreach ($mesimg_ft as &$value) {
    			$value ='<a href="'.$chemin.''.$value.'" rel="lightbox[groupe]">
    			<img src="'.$chemin.''.$value.'" width="47" height="45" alt="'.$description.'"/></a>';
    			$return .= $value;
    			}
    		}else {
    			$return .= '<div style="color:red;">'. __('The administrator do not have to create yet the repertory minialbum with the root of the manager of media').'</div><br />';
    		}

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Bon si ceci vous semble un peut incomprehensible , j'ai une autre question sur un bug qui m'ennerve au plus haut point
    lorsque j'affiche le plug sous firefox pas de prob
    par contre sous opera et IE ,j'ai une incrémentation en trop ....
    Et oui un cadre vide ne menant a rien, mais il est bien la
    Ce qui me fais penser qu'il y as un probleme a ce niveau-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ($file_ft != "." && $file_ft != "..") {
    				   	  if (substr($file_ft,0,1)!="."){
    					  	$verifimg.=','.$file_ft;
    			           	$mesimg_ft[$cpt_ft] = $file_ft;
    			           	//incremente 
    					   	$cpt_ft++;
    					  }
    			       }

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    personne n'as une idée ???
    je pensais utiliser la fonction file_exists() pour voir si le dossier est vide ou pas .
    j'ai plus ou moins la structure mais je n'arrive pas a l'appliquer .
    Si le dossier minialbum est vide renvoi un message sinon continue et surtout j'aimerai mettre a la place d'un dossier prédéfini la possibilité de choisir via un menu déroulant le dossier que l'ont affichera

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par gtraxx
    je pensais utiliser la fonction file_exists() pour voir si le dossier est vide ou pas .
    Il vous dira simplement qu'il existe et ce qu'il soit vide ou non.

    Pour savoir si le dossier est vide il faudra à un moment ou à un autre en faire le parcours (même s'il n'est que partiel) et surtout s'il faut en plus y filtrer le contenu (fichiers images).

    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
    20
    21
    $path =$core->blog->public_path . DIRECTORY_SEPARATOR . 'minialbum';
    $mesimg_ft = array();
    if (is_dir($path) && $handle_ft = opendir($path)) {
        $cpt_ft = 0;
        while (false !== ($file_ft = readdir($handle_ft))) {
            if (strpos($file_ft, '.') !== 0) {
                $cpt_ft++;
                if (preg_match('/\.(jpe?g|gif|png)$/i', $file_ft) {
                    array_push($mesimg_ft, $file_ft);
                }
            }
        }
        closedir($handle_ft);
        if (!$cpt_ft) {
            die("Le répertoire 'minialbum' est vide");
        }
    } else {
        die("Le répertoire 'minialbum' est inexistant ou inaccessible");
    }
     
    print_r($mesimg_ft);

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

Discussions similaires

  1. [XML] exclure des éléments d'un éléments parent
    Par Djakisback dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 31/03/2006, 10h45
  2. Exclure des enregistrements dans une requête
    Par r@phy dans le forum Access
    Réponses: 3
    Dernier message: 29/03/2006, 11h18
  3. Exclure des données dans un état
    Par Flagny dans le forum Access
    Réponses: 2
    Dernier message: 13/01/2006, 15h23
  4. Exclure des enregistrements d'une requête
    Par beegees dans le forum Access
    Réponses: 2
    Dernier message: 20/06/2005, 13h01
  5. Conditions de destruction des instances de classes
    Par elvivo dans le forum Général Python
    Réponses: 4
    Dernier message: 29/12/2004, 17h16

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