1

Sujet : Lister les dossiers de photos et envoyer les résultats dans la BDD

Bonjour a tous !

voila je voudrait lister les sous dossiers qui sont dans le dossier photos d'albulle, et envoyer les résultats dans ma base de données, mais il ne faut pas que lorsque j'appelle la page php les memes résultats soient envoyés :

ex: dans mon dossier photos il ya deux sous dossiers : 26001 et 26002

ma base de données : table galeries composée de 2 champs :
galeries_id (autoincrement)
galeries_nom(varchar)

voici mon code php :

<? 
include "config.inc.php";
$connection = mysql_connect("localhost", USER, PASS)
or die ("connexion impossible au serveur");
$db= mysql_select_db (BASE)
or die("la base de données ne peut etre selectionnée");
$sql = "SELECT galeries_nom FROM galeries";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$in_data_base = array($row['galeries_nom']);
}
$rep = "/home/eleves/src4c07/public_html/bd/albulle/photos";
$dir = opendir($rep);
function dd($date) {
return date("d/m/Y H:i:s",$date);
}

while ($f = readdir($dir))
{
if ($f !="." && $f != "..")
{
if(is_dir($rep."/".$f) and !in_array($f,$in_data_base)) {
for ($f=0;
mysql_query("INSERT INTO galeries (galeries_nom) VALUES('$f')");
}
}
}
closedir($dir);
mysql_close($connection);
?>

les erreus lorque j'appelle la page la première fois :
Warning: in_array(): Wrong datatype for second argument in /home/eleves/src4c07/public_html/bd/albulle/liste_galeries.php on line 23

et lorsque je rafraichit, la requete marche mais n'envoie dans ma bdd que le premier dossier (26001) et lorsque je rafraichit encore elle envois dans ma bdd le deuxieme dossier (26002).

voila si quelqu'un pouvait m'aider ! Merci d'avance !

Re : Lister les dossiers de photos et envoyer les résultats dans la BDD

Salut,

Je risque de ne pas avoir le temps de regarder ce week-end (fête des mères, anniversaire...!) mais je m'y attarde dès que possible. Sauf si quelqu'un d'autre regarde avant moi wink.

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

3 Dernière modification par Cyberbob002 (28/05/2006 14h19m26s)

Re : Lister les dossiers de photos et envoyer les résultats dans la BDD

Salut !

Dans un premier temps il faut que tu initialise ton tableau au début.

$in_data_base = array();

Comme ça, si il n'y a rien dans la base le type de la variable sera quand meme correct.

Ensuite, dans ta boucle de récupération de la base met plutot ceci :

$in_data_base[] = $row['galeries_nom'];

Car avec ton code, tu écrases toujours le tableau avec la dernière valeur.

Et pour ta boucle d'insertion tu as un for qui traine. Erreur de copier/coller ??

while ($f = readdir($dir))
{
    if ($f !='.' && $f != '..' && is_dir($rep.'/'.$f) && !in_array($f,$in_data_base)) {
        mysql_query("INSERT INTO galeries (galeries_nom) VALUES('$f')");
    }
}
closedir($dir);

Voila ! J'ai pas testé le code par contre.

Cyb.

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

4

Re : Lister les dossiers de photos et envoyer les résultats dans la BDD

Salut à tous ! et merci pour les reponse !

Tout est ok ! Problème résolu !