Code permetant une maintenance image-base mysql

Signaler
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007
-
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007
-
Bonjour,
Voila je cherche un code qui permet de parcourir tout un dossier à la recherche de mes images et savoir si chaque fichier est present dans ma base.

Si ce fichier y est OK !
Si fichier pas dans la base alors me l'indiquer.

Voila si quelqu un a ça sous la main c est le meilleur !

;-)
Bon Courage à tous moi je galere a trouver ça mais bon ...
Si je poste c est pas pour rien lol

:-)

21 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salue!
Je viens de code ca, ca à l'air de fonctionner, je te laisserai faire le test pour ta bdd à l'endroit ou j'affiche le fichier

<?php
function list_folder($dossier)
{
$rep = opendir($dossier);

while($file = readdir($rep))
{
if(is_dir($dossier . $file) && $file != '.' && $file != '..')
{
list_folder($dossier . $file . '/');
continue;
}

$ext = substr($file, -3);if($ext 'jpg' || $ext 'gif' || $ext == 'pnj')
echo $dossier  . $file . '
';
}

closedir($rep);
}

list_folder('folder/'); // dossier de départ
?>


@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

Salut !
Tout dabord Merci.

Ensuite avec mes quelques connaissances je crois comprendre que ton script liste et affiche tout le contenu du repertoire.

Si c est bien je vois pas coment je pourrais faire la comparaison entre ce que je trouve dans ma bd et ton code.

(en gros si tu pouvais me le f....)

En tout cas Thank you ::!!!
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

au fait toutes mes images sont en jpg
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Ok, pitit exemple:
<?php
function list_folder($dossier)
{
$rep = opendir($dossier);

while($file = readdir($rep))
{
if(is_dir($dossier . $file) && $file != '.' && $file != '..')
{
list_folder($dossier . $file . '/');
continue;
}

if(substr($file, -3) == 'jpg')
{
// table: table_images
// champ: fichier
$sql_query = "SELECT id FROM table_images WHERE fichier='" . $dossier . $file . "'";
$result = mysql_query($sql_query);

if(!$result)
return;

if(mysql_num_rows($result) == 0)
// ici tu fais l'insertion
}
echo $dossier . $file . '
';
}

closedir($rep);
}

list_folder('folder/'); // dossier de départ
?>


@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

Salut encore merci de ta rapidité et tes efforts
j ai un soucis par rapport à ton script c est que dans ma base
il y a juste le nom du fichier et pas du rep+fichier

j arrive pas à le virer de ton script

Merciiiiiiii
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Hello!
$sql_query = "SELECT id FROM table_images WHERE fichier='" . $dossier . $file . "'";

-->
$sql_query = "SELECT id FROM table_images WHERE fichier='$dossier'";


@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

salut jai une erreur

..........
..................
if(mysql_num_rows($result) == 0)
// ici tu fais l'insertion
} CETTE LIGNE L ERREUR

Parse error: parse error, unexpected '}'

je voulais savoir ce que tu entends par
// ici tu fais l'insertion

Merci en tout cas t es super
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

depuis tout a l heure je galere

j ai fait ça


<?php
include("connexion_sql.php");

function list_folder($dossier)
{
$rep = opendir($dossier);

while($file = readdir($rep))
{
if(is_dir($dossier . $file) && $file != '.' && $file != '..')
{
list_folder($dossier . $file . '/');
continue;
}
$req="SELECT id FROM basephoto WHERE photo LIKE '%$file%'"; 

$res=mysql_query($req);
$nbrows = mysql_num_rows($res);
if($nbrows==0)
{
echo $dossier . $file . '
';
}
else
echo"";

}

closedir($rep);
}

list_folder('photo/'); // dossier de départ
?>



et bien rien a faire ça me sort tout le contenu de mon rep
Au secours plzzzzzz
Merci ::!!
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Essaie ca:
<?php
include("connexion_sql.php");

function list_folder($dossier)
{
$rep = opendir($dossier);

while($file = readdir($rep))
{
if(is_dir($dossier . $file) && $file != '.' && $file != '..')
{
list_folder($dossier . $file . '/');
continue;
}
$req="SELECT id FROM basephoto WHERE photo LIKE '%$file%'";

$res=mysql_query($req) or die(mysql_error());
if(mysql_num_rows($res) == 0)
{
echo $dossier . $file . '
';
}
else
echo"";

}

closedir($rep);
}

list_folder('photo/'); // dossier de départ
?>


Et essaie un truc:
// templace test.jpg par une image que tu es sûr qu'elle est dans la base
$req="SELECT id FROM basephoto WHERE photo LIKE '%test.jpg%'";

$res=mysql_query($req) or die(mysql_error());
if(mysql_num_rows($res) == 0)
echo 'non trouvé';
else
echo 'trouvé';


@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

ça fait:

trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/trouvé/

etc.......
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

y a pas un probleme de boucle?
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

attend le probleme
c est pas les /
entre les trouvé ça devrait pas y etre non?
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

ow j ai fait

le meme code avec

$req="SELECT id FROM basephoto WHERE photo ='a5e3c817b85cf.jpg'";

$res=mysql_query($req) or die(mysql_error());
if(mysql_num_rows($res) == 0)
echo 'non trouvé';
else
echo 'azeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';

}

closedir($rep);
}

list_folder('photo/'); // dossier de départ
?>



l image y est je suis sur je la vois

en excetutant le script ça me sort

trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvénon trouvé
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
T sûr du like?

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

en fait j ai tellement bossé dessus que j ay voyé plus bien

non avec le like ça fait ça

trouvétrouvétrouvétrouvétrouvétrouvétrouvétrouvétrouvétrouvétrouvétrouvé .............................
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

en fait il trouve tout c est pas normal
meme index.html
mdr plutot non pas mdr ça me soule
STp HElp Me !
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Je t'ai mis, il faut faire le test que si c image: if(substr($file, -3) == 'jpg')

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

autre chose qui pourra peut etre t aider

dans ma table j ai des enregistrement et dans le champ photo j ai les noms des images blabla.jpg||0||dddss||fichierjpg.jpg||....

c juste pour indication
Messages postés
104
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
8 décembre 2007

j ai rajouté ton test

donc si a like je met le nom du fichier il me dit trouvétrouvétrouvé

si je met $file il me dit non trouvénon trouvé....

je désepere
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
La suite par MSN ou MP, me faudrait voir la structure de ta base et tout...

Le mieux serait un export de ta base, par mail. Si tu es d'accord, on se contact par MP

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"