xzonz
Messages postés107Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022
-
7 nov. 2007 à 21:11
xzonz
Messages postés107Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022
-
8 nov. 2007 à 14:37
Salut a toutes et tous
voila j'ai un script qui liste un repertoire avec une icone differente devant chaque fichier selon son extension ... ca fonctionne bien sous firefox
mais avec ie 6 ou 7 les icones ne s'affichent pas
à noter que le chemin du repertoire contenant les images n'est pas en dur
il vient d'une variable qui se trouve dans un fichier config.php que je met en include
au debut de ma page
voila le code concerné merci bien de votre aide
(ya toute la page)
-----------------------------------------------------------------------------------------------------
<head>
<script language= "JavaScript">
<!--script pour vérifier les données entrées dans le formulaire-->
function verif()
{
Check = confirm("---------------------------------------------- \n CONFIRMEZ VOUS LA SUPPRESSION ? \n ----------------------------------------------");
if(Check == false) return false;
return true;
}
</script>
<hr>
[<? $_SERVER['DOCUMENT_ROOT'] ?>/admin/creer-repertoire.php [créer
un repertoire]] [<? $_SERVER['DOCUMENT_ROOT'] ?>/admin/supprimer-repertoire.php [supprimer
un repertoire]] [<? $_SERVER['DOCUMENT_ROOT'] ?>/admin/upload-multiple.php [uploader
des fichiers]] [<? $_SERVER['DOCUMENT_ROOT'] ?>/admin/wake-on-wan.php [wake
on wan]]
<hr>
<?
// Accès au repertoire
// -------------------
$chemin="./";
$handle_du_repertoire_ouvert=opendir($chemin);
// Boucle réccupérant toute les entrées contenu dans le répertoire
// ----------------------------------------------------------------
$sortie_de_la_boucle=false; // Initialise la boucle
while ($sortie_de_la_boucle==false)
{
// Récupère les entrées contenu dans le repertoire une par une
// -----------------------------------------------------------
$entree=readdir($handle_du_repertoire_ouvert); // Readdir lit le fichier suivant dans un dossier
// Condition de sortie de la boucle
// --------------------------------
if ($entree=="")
$sortie_de_la_boucle=true;
else
// Affichage
// ---------
if (($entree!="."))
if (is_dir($entree)) //affichage repertoire
{
// on choisi les repertoires à ne pas afficher
if (($entree!="images")&&($entree!="_vti_bin")&&($entree!="_vti_pvt")&&($entree!="_vti_txt")&&($entree!="admin"))
echo " ".$entree."
";
}
if (is_file($entree)) //affichage fichiers
{
// on choisi les fichiers à ne pas afficher
if (($entree!="index.php")&&($entree!=".htaccess")&&($entree!=".htpasswd"))
{
//On récupère l'extension
ereg("\.([^\.]*$)", $entree, $elts);
$ext = $elts[1];
// On définit l'icone en fonction de l'extension
$icone = $ext .'.'.'gif';
echo " ".$entree."
";
}
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 8 nov. 2007 à 00:49
Salut,
Si Firefox affiche correctement tes images, il y a fort à parier que le problème ne vient pas de PHP.
Mais comme on est sur phpCS, je vais quand même te donner des tuyaux quant à ton code (même si ça ne solutionne pas ton problème).
Evite d'utiliser la balise courte d'ouverture de script php : <? Elles ne fonctionnent que quand la configuration du serveur le permet... C'est une mauvaise habitude dont il est préférable de se départir et utiliser <?php permet de s'assurer que le script sera TOUJOURS interprété comme du php. En plus, ça évite de parser comme du php les flux xml qui commencent pas <?xml
Tu devrais éviter de mélanger traitement et affichage. Mettre du php un peu partout au milieu du HTML n'aide pas à s'y retrouver... On s'y perd vite, même dans ses propres scripts, surtout quand on les laisse reposer un peu. Sans forcément utiliser de système de template ou de truc compliqué, traiter tes données au début du script et les afficher ensuite, c'est plus propre, donc plus lisible, donc plus facile à maintenir, donc plus facile et plus rapide à améliorer.
Ta boucle de parcours de répertoire me parait un peu... bizarre... Je m'y perds un peu, donc je vois pas bien comment elle fonctionne.
Dans la doc php, il y a un très bon exemple, très propre, de comment parcourir un répertoire...
Si tu es sur PHP5, voire même PHP5.1, tu peux utiliser les itérateurs pour parcourir un répertoire. Avec DirectoryIterator et DirectoryFilterDots, afficher les fichiers du répertoire se fait en moins de 10 lignes.
Enfin, en HTML, les attributs doivent TOUJOURS être entourés de guillemets doubles : " . De plus, je ne peux que recommander de passer à XHTML, au moins la version 1.0 transitionnal, avec utilisation de feuilles de style. C'est pas juste parce que c'est la mode, c'est aussi et surtout que le code produit est plus propre, plus léger, plus facile à maintenir... Bref, que des avantages ;)
Bon. J'espère que tu prendras pas mal mes remarques, elles ne sont destinées qu'à te faire progresser.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 8 nov. 2007 à 12:18
Salut,
"si tu as la patiente de bien vouloir m'en dire plus à ce sujet"
=> j'en ai toujours quand on veut bien m'écouter.
Concrètement, pour séparer basiquement le traitement de l'affichage, il te "suffit" de mettre les données à afficher dans des variables, et de les afficher plus tard : <?php echo $pseudo_visiteur; ?> par exemple. Ca mélange du html avec du php, mais c'est du php qui ne fait qu'afficher, et qui ne lit pas le contenu d'un fichier, d'un répertoire, etc.
Dans la partie affichage, il peut quandmême y avoir des boucles (for, foreach, while) parce que c'est quand même indispensable.
Maintenant, si t'es curieux, tu peux jeter un oeil à Smarty. Il s'agit d'une classe de templates qui s'occupe de gérer l'affichage. Tu as alors des fichiers séparés pour le traitement des données et pour l'affichage du document.
Concrètement, cela permet à plusieurs personnes de travailler sur le même projet sans avoir besoin de savoir exactement ce que fait l'autre : un développeur et un designer, le plus courrament.
XHTML, c'est eXtensible HyperText Markup Language. C'est du HTML extensible. C'est un peu plus rigoureux dans la syntaxe et permet de garantir un affichage identique quelque soit le navigateur (quand celui-ci respecte le standard, ce qui est encore une autre histoire).
La seule référence que j'ai sur le sujet est en anglais :
http://www.w3schools.com/xhtml/default.asp
Et ton problème d'icones ? As-tu vérifié dans le code HTML produit que tout était correct ? Est-ce que sous IE, tu peux accéder directement aux icones via la barre d'adresse, ce qui indiquerait qu'elles sont bien là où le navigateur s'attend à les trouver ?
xzonz
Messages postés107Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022 8 nov. 2007 à 10:02
Salut
rassure toi tes sugestions sont pour moi de précieux conseils :-)
elles sont les bienvenues !!
j'apprend tout seul comme un grand
donc c'est pour cela que mon code n'est pas tres academique.
et surtout je ne vois pas trop comment faire autrement pour arriver à ce que je veux.
par exemple quand tu me dis de séparer le traitement et l'affichage ... dans la théorie
je vois tout a fait ce que tu veux dire mais dans la pratique c'est pour moi une autre paire de manches !!
si tu as la patiente de bien vouloir m'en dire plus à ce sujet
c comment qu'on fait ? .... MERCI
cela m'aiderai à faire quelque chose de plus propre
en tout cas merci pour tes conseils
Franck
ps:
qu'est ce que xhtml ? je connais peut etre déja ce que ca veut dire
mais dans les acronymes je suis parfois un peu paumé
xzonz
Messages postés107Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022 8 nov. 2007 à 13:32
salut
j'ai essayé d'acceder aux images directement dans le rep ou elles se trouvent
via l'url
les icones sont des gifs de 16x16
mais la ou je pige pas c'est que ie affiche le cadre de l'image
(sans l'image bien sur !) mais quand je fais un clic droit sur l'image/propriete
la taille est de 28x30 .... c'est grave docteur ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 8 nov. 2007 à 14:22
Grave non, bizarre, oui...
"mais la ou je pige pas c'est que ie affiche le cadre de l'image
(sans l'image bien sur !)"
=> Comment ça le cadre ? Il affiche une petite croix, comme pour dire qu'il n'a pas trouvé l'image ou pas ?
Tu as essayé d'accéder aux images directement, mais est-ce que tu as pu y accéder ? (tu ne le dis pas lol)
Je me pose la question suivante : est-ce que IE affiche correctement tes gifs ?
Ils pourrait les trouver mais ne pas les afficher correctement, ce qui se traduit par leur simple absence.
Firefox les affiche correctement lui... As-tu essayé avec Opera ?
Et si tu essayes avec d'autres images, d'autres formats, juste pour tester ? png, jpeg...
xzonz
Messages postés107Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022 8 nov. 2007 à 14:37
salut
désolé j'ai pas été tres précis
- oui j'y accede
- mais il met la croix pour dire qu'il ne la trouve pas
- le chemin du repertoire est pourtant le bon.
avec firefox aucun souci.
je teste avec d'autres formats d'images
du moins pas tout de suite car je suis au taf
je te dirai ce que ca a donné