Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 10/05/2011, 12h05   #1
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut directoryIterator et strpos()

salut
j'ai un soucis avec une fonction qui utilise directoryIterator (spl) et strpos()
la voici
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
try{
		/*** class create new DirectoryIterator Object ***/
		$mydirIterator = new DirectoryIterator($this->directory);
 
 
        foreach ( $checkExtension=new ExtensionFilter($mydirIterator,$pattern) as $file )
        {
 
 
            var_dump(strpos($file->getFilename(),"à"));
 
 
			$element = $this->directoryXML->createElement("photo");
						// ajoute l'attribut source = nom du fichier medias 
						$element->setAttribute('source',$file);
						// ajoute le noeud
						$this->node->appendChild($element);
 
		}
 
 
 
		$xml = $this->directoryXML->saveXML();
 
		return $xml;
		}catch(Exception $e){
 
			return "directoryError";
 
		}
ma strpos($file->getFilename(),"à") ne fonctionne pas il semble quelle ne considere pas $file->getFilename() comme de type string.
voila je seche
merci A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 12h17   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Etrange, pourant les items renvoyés par DirectoryIterator::current()->getFilename() sont bien des strings:
Code :
1
2
3
foreach (new DirectoryIterator(__DIR__) as $file) {
  var_dump($file->getFilename());
}
Que renvoie ton ExtensionFilter::current() ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 10/05/2011, 12h50   #3
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut directoryiterator strpos()

slt et merci

ca me renvois object(DirectoryIterator) ce qui me parait normal a mon sens
ma function ExtensionFilter extends RegexIterator.

quand je fait
Code :
var_dump($file->getFilename())
ca me renvois bien le nom du fichier et si je test
Code :
1
2
 
is_string($file->getFilename())
j'ai bien true

?????????
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 12h55   #4
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut directoryIterator strpos()

re
meme quand je test en zappant ma classe de filtre ca ne fonctionne pas il ne me trouve pas mes caractere dans le nom

Code :
1
2
 
var_dump(strpos($mydirIterator->getFilename(),"à"));
merci
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 13h34   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Tu as lu le man de strpos ?

Pourquoi recherches-tu la position du caractère "à" ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 10/05/2011, 16h28   #6
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut directoryIterator strpos()

re
je cherche simplement a savoir si un caractere spécial se trouve dans le nom du fichier (c'est une image uploader par un cms et parfois tu trouve des noms exotiques), car le caractere crées un disfonctionnement dans le code

voila tu sait tout

et moi je ne comprend toujours pas pourquoi il ne veut pas de mon

Code :
1
2
 
strpos($mydirIterator->getFilename(),"à")
merci A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 16h46   #7
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Qu'est ce qui te fait dire que ça ne fonctionne pas ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 10/05/2011, 17h02   #8
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

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

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
Citation:
Envoyé par bruno.rotrou Voir le message
re
je cherche simplement a savoir si un caractere spécial se trouve dans le nom du fichier (c'est une image uploader par un cms et parfois tu trouve des noms exotiques), car le caractere crées un disfonctionnement dans le code

voila tu sait tout

et moi je ne comprend toujours pas pourquoi il ne veut pas de mon

Code :
1
2
 
strpos($mydirIterator->getFilename(),"à")
merci A+
Euh, coupe moi si je me trompe mais pourquoi pas simplement faire une regex? oO ? Tu modifies la fonction...
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 17h11   #9
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Citation:
Euh, coupe moi si je me trompe mais pourquoi pas simplement faire une regex? oO
Parce qu'un bench à permi de montrer que strpos va environ 1000x plus vite.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 10/05/2011, 22h33   #10
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut directoryIterator strpos()

slt et merci

en effet c'est un bon argument , mais si je ne trouve pas je finirais par une expression régulière.

merci A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h17.


 
 
 
 
Partenaires

Hébergement Web