{MySQL} script de mise à jour listant fichier

Fermé
toto - 3 sept. 2009 à 14:44
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 7 sept. 2009 à 18:59
Bonjour à tous,

Je cherche à écrire un petit script sur un server Fedora, qui me permettrait d'actualiser une liste de documents dans une base MySQL.
J'ai un site web qui liste les fichier (des .doc) sur une page et je voudrais que le script puisse ajouter automatiquement (une fois par jour) les nouveaux fichiers présents dans le dossier. Le site utilisant une base MySQL, il me faudrait un script la mettant à jour en scannant les fichiers présents dans le dossier.
Malheureusement, après quelques recherches, je ne vois pas du tout vers quoi m'orienter.
Quelqu'un a-t-il une idée de comment démarrer?

Merci!

[question posée précédemment, mais j'ai oublié le titre..]
A voir également:

4 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
3 sept. 2009 à 18:37
bonsoir,

ce script liste les fichiers contenus dans le répertoire
$rep = "./";
$dir = opendir($rep);

while ($f = readdir($dir)) {
if(is_file($rep.$f)) {
echo $f."<br>";
}
0
Merci beaucoup pour votre réponse rapide,

Ce script est en php, je comprend en gros ce qu'il fait, mais comment puis-je l'utiliser sur un serveur.
Un appel du script php tout les jours à une heure précise est-il possible?
Comment entrer cette liste dans une base MySQL?
(oui je pars de loin, je n'y connais pas grand chose...)

Merci!
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
4 sept. 2009 à 18:19
bonsoir,

il faudrait tout d'abord mieux préciser les choses et sérialiser les problèmes.
donc serveur fedora = linux donc :

un script en langage de commande. autant que je me souvienne sh, bash ou un truc comme ça.

ensuite pour le lancer régilièrement il faut voir du côté cron (crontab)

dans le script on peux faire des commande en ligne mysql.
0
Ok pour cron, par contre je ne sais pas comment faire les requêtes sur ma base de donnée.
J'ai cherché un peu comment faire un script en shell sh et voilà ce que ça donne:

[code]
#!/bin/sh

# Doc path on server
cd /doc/

# Scan each .doc
for files in *.doc
do
# Test if already in database
present = (Requete MySQL pour savoir si le fichier est déjà présent dans la base)
# If not in database, SQL request to update
if $present == "no"
then (Requete MySQL pour rentrer le fichier dans la base)
fi
done
[/code]

Il me manque donc la requete MySQL pour voir si le fichier est déjà présent dans la base et la requete pour le rentrer dans la base. Et puis sûrement quelques corrections du script, mais ça je verrais les erreurs en l'executant ;)
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
7 sept. 2009 à 18:59
bonsoir

en ligne de commande ou en script, autant que je me souvienne c'est les mêm commandes.

si c'est du mysql il doit y avoir un tuto
> man mysql


il doit donner des chose du genre
mysql_connet
mysql_query

etc
0