par
lesylvanien » 05 sept. 2007, 12:46
Bonjour,
Voilà j'ai essayé de créer un petit script permettant de créer des fichiers textes qui me servent de base de donnée.
Pour ma base de donnée, je dois créer les fichiers selon ce type
$id+$nomfichier+.txt
la variable $nomfichier est fournie par une formulaire sur une page précédente.
Pour la variable $id, c'est là qu'est mon problème ...
en effet je me suis dit que pour avoir une $id différente à chaque fichier mais dans l'ordre (du type fichier 1 avec id=1, fichier 2 avec id=2, etc...), il fallait mettre une fonction qui compte le nombre de fichier dans le dossier et qui rajoute 1 à ce nombre ce qui donne l'$id (voir mon script après)
Mais voilà le problème ; si je crée 3 fichiers nommés
1+fichier1+ ; 2+fichier2+ : 3+fichier3+ et que j'efface le fichier 1+fichier1+, il me reste ainsi 2+fichier2+ et 3+fichier3+ ... et si je veut recrée un nouveau fichier, c'est là qu'apparait le problème puisqu'il va avoir aussi l'$id=3 puisqu' $id=nombre de fichier plus 1.
A votre avis, comment faire pour que même si j'efface le fichier1, le quatrième fichier que je crée porte l'id=4 et le cinquième fichier crée l'id=5 et ainsi de suite ?
merci beaucoup d'avance pour vos réponses que j'essayerai de comprendre car je débute et n'y connait pas grand chose !
Voilà mon script :
<?php
$files = glob("data/*");
$compteur = count($files);
$id = $compteur + 1;
$nom_fichier = "./data/$id+$nomfichier+.txt";
$fichier_ouvert= @fopen($nom_fichier, "a+");
// parcours le fichier ligne par ligne et le stock dans le buffer
if ($fichier_ouvert) {
while (!feof($fichier_ouvert)) {
$buffer += fgets($fichier_ouvert, 4096);
}
// stock le resultat dans $enreg (je suppose fichier de sorti)
fputs($fichier_ouvert,$enreg. "\n");
fclose($fichier_ouvert);
}
header('Location: index.php');
?>