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 10/05/2008, 14h55   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 3
Points : 0
Points : 0
Par défaut probleme d'accent avec image random

salut à tous.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
+----------------+
| Configuration |
+----------------+
*/
 
$imgpath = "img/vignette/"; // chemins des images
$textalter = "image aleatoire"; // texte alternative de l'image (attribut alt)
 
/*
+--------------+
| Programme |
+--------------+
*/
 
$nodir = 0;
if ($imgpath == ".." || $imgpath == "." || $imgpath == "")
{
        $nodir = 1;
        $imgpath = ".";
}
 
$j = strlen($imgpath);
$j--;
if ($imgpath[$j] != '/' && $imgpath != ".")
        $imgpath .= '/';
 
if (is_dir($imgpath))
{
 
        if ($condir = opendir($imgpath))
        {
                $i = 0;
                while (($curfile = readdir($condir)) != false)
                {
                        $extension = "";
                        $extension = preg_replace("/.+\.(.{3,4})/", "$1", $curfile);
                        if ($extension == "png" || $extension == "gif" || $extension == "bmp" || $extension == "jpg" || $extension == "jpeg")
                        {
                                $i++;
 
                        }
                }
 
                if ($images{1} == "")
                {
                        echo "Aucunes images dans le dossier !";
                }
                else
                {
                        $i = rand(1, $i);
                        $image = strtr($images{$i},'éèê','eee');						
						$name=substr($image,0,-4);
						$size=getimagesize($imgpath.$image);
 
							if ($size[1]>170){
                        	echo "<img src=\"";
                        	if ($nodir != 1)
                                echo $imgpath;
                        	echo "".$image."\" alt=\"".$textalter."\" height=\"165\"/><br>";
							echo  "<span style=\"font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#FFFFFF; 				font-weight:500 \">".$name."</span>";
						}else{
						echo "<img src=\"";
                        if ($nodir != 1)
                                echo $imgpath;
                        echo "".$image."\" alt=\"".$textalter."\"/><br>";
						echo  "<span style=\"font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#FFFFFF; font-weight:500 \">".$name."</span>";
                }
				}
        }
        else
        {
                echo "Impossible d'ouvrir le dossier d'image !";
        }
}
else
{
        echo "Le r&eacute;pertoire d'images sp&eacute;cifi&eacute; est incorrect !";
}
?>
j'ai récupéré ce script pour afficher une image aléatoire sur la page; problème quand le nom de fichier contient un accent ça ne marche plus. J'ai bien essayé de faire un strtr pour remplacer les accents mais rien ni fait .

une solution?

PS: ça serait cool si qq'1 pouvait me commenter le code je comprends pas tout
2click est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2008, 15h37   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 835
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 835
Points : 3 468
Points : 3 468
Citation:
Envoyé par 2click Voir le message
quand le nom de fichier contient un accent ça ne marche plus.
Apparemment les noms de fichiers ne sont pas correctement codés.
Cf. rawurlencode( ) http://www.php.net/rawurlencode

Citation:
J'ai bien essayé de faire un strtr pour remplacer les accents mais rien ni fait
Normal, le fichier pêche.jpeg est différent du fichier peche.jpeg.

Citation:
PS: ça serait cool si qq'1 pouvait me commenter le code je comprends pas tout
M'étonne pas, c'est une horreur ce script
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2008, 11h41   #3
Invité de passage
 
Inscription : janvier 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 3
Points : 0
Points : 0
merci mais ça m'aide pas plus. je vais chercher autre chose
a+
2click 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 16h13.


 
 
 
 
Partenaires

Hébergement Web