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

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    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.
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    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 confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    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 />';
    		}
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  4. #4
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    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++;
    					  }
    			       }
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    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
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  6. #6
    Expert éminent sénior

    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
    Points : 17 777
    Points
    17 777
    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);

  7. #7
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    merci beaucoup c'est exactement ce que je recherchais, les fonctions de fichier sont encore obscure pour moi et je commence a les voir (faut un début a tout lol).

    ps: a quoi sert exactement cette constante DIRECTORY_SEPARATOR .
    je suis un curieux de nature
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  8. #8
    Expert éminent sénior

    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
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par gtraxx
    ps: a quoi sert exactement cette constante DIRECTORY_SEPARATOR .
    Elle correspond au caractère séparateur de répertoire. Ceci permet donc d'être portable puisque sous Unix/Linux il s'agit de / (bien que sous windows la conversion est faite) et \ sous windows.

  9. #9
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    merci c'est toujours bon de le savoir et en plus je me coucherai moins bête lol
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

+ 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