Bonjour chers tout le monde :) !
Aujourd'hui, alors que je développait mon site internet, j'ai eu un problème. Je vous explique : les visiteurs peuvent uploader un nombre indéfini de fichiers sur le serveur. Ils nomment ces fichiers différemment, et le tout est enregistré dans une table sql. Voici un aperçu de mon script pour renommer les fichiers, et d'autres :
Code PHP :
<?php
$liste_rep = scandir($dirname);
$i = 0;
$num = count($liste_rep);
while($i < $num){
if(in_array($liste_rep[$i], Array('.', '..'))) {
$i++;
continue;
}
?>
<tr>
<td width="50%"><div align="right" style="margin-right: 10px;"><?php echo $liste_rep[$i]; ?></div></td>
<td>
<input name="<?php echo $i; ?>" type="hidden" value="<?php echo $liste_rep[$i]; ?>" />
<input name="nom<?php echo $i; ?>" type="text" value="Nom de la chanson" onclick="if(this.value== 'Nom de la chanson') this.value = '';" onblur="if(this.value== '') this.value = 'Nom de la chanson';" />
<input name="place<?php echo $i; ?>" type="text" value="Numéro dans l'album" />
<input name="suppr" type="checkbox" value="suppr<?php echo $i; ?>" /> Supprimer
</td>
</tr>
<?php
$i++;
}
?>
En fait, ce script liste tous les fichiers contenus dans un dossier, et propose ensuite de les rennomer.
Et voici le script qui ne marche pas, celui qui permet d'insérer le tous dans une table sql :
Code PHP :
<?php
extract($_POST);
$numero = "0";
while(!empty($_POST[numero+1])) {
$numerocomplet = $numero+1;
$nomcomplet = $nom.$numero+1;
$supprcomplet = $suppr.$numero+1;
if($supprcomplet == true) {
$directoire = $dir.$numerocomplet;
unlink($directoire);
}
else {
mysql_query("ma requête sql");
}
} ?>
Ah oui car on peut choisir de supprimer le fichier. En fait je regarde si il y a un fichier, puis je regarde si on veut le supprimer, sinon je l'enregistre. Et comme il y a un nombre aléatoire de fichiers à enregistrer (source plus haut), eh bien il faut savoir combien il y en a et les enregistrer dans mysql avec leurs noms respectifs. Dans le formulaire, il y a pour chaque fichier "nom" plus un numéro qui augmente de 1 à chaque fois (donc on obtient par exemple nom1 pour le premier fichier). Et ça pareil pour la suppression, et tout ça tout ça :)
Voilà je suis complètement pommé, cela ne marche pas, si quelqu'un veut bien m'aider, je lui serait très reconnaissant :)