Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2007, 16h44   #1
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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 :
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 16h48   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 17h17   #3
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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 :
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 00h17   #4
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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 :
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 06h14   #5
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 11h22   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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 :
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);
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 19h17   #7
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 22h39   #8
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2007, 04h45   #9
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h15.


 
 
 
 
Partenaires

Hébergement Web