Bonjour, j'ai créé il y a quelques mois un site
internet incluant une galerie d'image en php. Je me suis apperçu un
jour en visitant mon site que le code php n'était plus valide, et me
générait une erreur sans que je ne l'ai modifié. Comme je suis
débutant, j'avais utilisé un script donné dans un numéros du magazine
SVM (Sciences et Vie Micro), et je l'avais un peu arrangé pour
l'adapter à ma galerie. Le code fonctionnait bien et je ne comprend pas
pourquoi il s'est subitement arrété de fonctionner.
Voici l'erreur qu'il m'affiche dans mon navigateur :
Warning: Invalid argument supplied for foreach() in /var/www/free.fr/f/6/latox/3d/bas.php on line 50
Finalement j'ai la réponse à mon problème : Je suis chez free et la
fonction glob() n'est plus "accéptée" manifestement... Donc j'ai mis
les fichiers de la galerie sur un autre serveur et ça fonctionne à
nouveau.
je vois pas où est le problème normalement ça devrais marcher nikel.
Ensuite je suis allé sur le site et le fichier n'existe pas !!! (la galerie)
@+
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
oui c'est normal j'ai tout supprimé et remis à jour, et j'ai arrangé le
script. Pourtant ça ne fonctionne toujours pas. Manifestement le code
php ne détecte plus les fichiers jpg de mon repertoire.
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
Oui mon dossier img existe bien, et toute les images à l'interieurs sont présentes : http://latox.free.fr/3d/img
A part l'erreur de la galerie, le site fonctionne bien, mais comme il
repose sur l'existence de cette galerie, il ne sert plus à grand chose
si les images ne sont pas détectées...
while(($photo_nom = readdir($dh)) !== false){// Boucle pour parcourir le repertoire
if(strpos($photo_nom, '.jpg') !== false){// Si le nom du fichier correspond à celui demandé
$photo_nom = str_replace('.jpg','', $photo_nom);
?>
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
Alors là ça s'est légerement amélioré : il n'y a plus d'erreur. A la
place il y a des emplacements pour les miniatures (le nombre exact
d'images dans le dossier img) et deux liens. Mais les images sont en
liens brisés et les deux liens qui apparaissent au dessus de chaque
emplacement ne devraient pas se trouver là... Je ne sais pas si je me
fais bien comprendre mais la meilleurs solution c'est que tu ailles
voir par toi même : http://latox.free.fr/3d/ rubrique Galerie.
while(($photo_nom = readdir($dh)) !== false){// Boucle pour parcourir le repertoire
if(strpos($photo_nom, '.jpg') !== false){// Si le nom du fichier correspond à celui demandé
$photo_nom = str_replace('.jpg','', $photo_nom);
?>
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
while(($photo_nom = readdir($dh)) !== false){// Boucle pour parcourir le repertoire
if(strpos($photo_nom, '.jpg') !== false){// Si le nom du fichier correspond à celui demandé
$photo_nom = str_replace('.jpg','', $photo_nom);
?>
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
Pourquoi vous vous faites chier avec 36 codes qui marchent pas ?
Le mieux est de tester la variable avant de lui faire un foreach () !!!!!
<?php
$tab=glob('img/*.jpg');
// Pour rappel, la fonction glob() en PHP renvoit un tableau avec les chemins
// des fichiers trouvés ou renvoit FALSE quand y'a rien qui correspond !
if ( is_array($tab) ) {
foreach ($tab as $photo) {
$photo_nom=str_replace("img/","",$photo);
$photo_nom=str_replace(".jpg","",$photo_nom);
// etc...
}
} else {
// $tab vaut donc FALSE, aucun fichier trouvé
}
?>
Maintenant, à toi de voir ou ca merde.
Dans le genre ('img/*.jpg') ==> ('./img/*.jpg') peut être ?
Y'a un tas de trucs à essayer. Essaye de débugger ton code au maximum avant de croire que c'est un foreach qui fait tout merder :)
D'ailleurs, au passage, si foreach() ne marche pas, while() non plus A MOINS que la version de PHP soit inférieur à la 4.xx. C'est la seule condition de non-fonctionnement !
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.