Suppression d'un fichier selon si il existe

fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 5 janv. 2006 à 10:54
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 5 janv. 2006 à 16:22
Bonjour,
je souhaite vérifier si un fichier existe, si il existe je sais le supprimer pour réécrire dedans j'ai essayé avec la fonction file_exists mais ça semble ne pas fonctionner ou bien je l'utilise mal !!! merci de cotre aide !!

$fichier=det_grp."_".$CODE_GROUPE."_".$TYPE_ELT."_".$date_deb_zonage.".csv";
//echo $fichier;


if (file_exists($fichier))
{
ftruncate($fichier,0);
}


$fpW= fopen($fichier, "r+");
fwrite($fpW, "NUM_GROUPE; NUM_ELT; CODE_GROUPE; TYPE_ELT; CODE_ELT; date_entree; date_sortie; date_deb_zonage; HoroMaj; FICHIER;\n");
$fpW= fopen($fichier, "a");
fwrite($fpW, $NUM_GROUPE.";". $NUM_ELT.";". $CODE_GROUPE.";". $TYPE_ELT.";". $CODE_ELT.";". $date_entree.";". $date_sortie.";". $date_deb_zonage.";". $HoroMaj.";". $fichier.";". "\n");


fclose($fpW);


}
echo "Creation det_grp_csv ok";

7 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
5 janv. 2006 à 11:10
Hello,

$fichier=det_grp."_".$CODE_GROUPE."_".$TYPE_ELT."_".$date_deb_zonage.".csv";

c'est quoi cette ligne...?
det_grp est une constante...?
Ensuite, si tu veux de toutes façons le supprimer, s'il existe, pourquoi tu ne fais pas un fopen() directement dessus, avec 'w' ?
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
5 janv. 2006 à 11:12
oui det_grp est une constante, en faite je pensais qu'il fallait supprimer les données puis ré-écrire dedans !!
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
5 janv. 2006 à 11:15
si je fais ça il ne m'inscrit qu'une seule ligne (en gras)

$fpW= fopen($fichier, "w");
fwrite($fpW, "NUM_GROUPE; NUM_ELT; CODE_GROUPE; TYPE_ELT; CODE_ELT; date_entree; date_sortie; date_deb_zonage; HoroMaj; FICHIER;\n");
fclose($fpW);
$fpW= fopen($fichier, "a");
fwrite($fpW, $NUM_GROUPE.";". $NUM_ELT.";". $CODE_GROUPE.";". $TYPE_ELT.";". $CODE_ELT.";". $date_entree.";". $date_sortie.";". $date_deb_zonage.";". $HoroMaj.";". $fichier.";". "\n");


fclose($fpW);
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
5 janv. 2006 à 11:21
j'ai essayé ça mais ça ne marche pas il ne met plus qu'une ligne de données !! il m'efface bien mon fichier mais en suite il ne ré-écrit pas l'ensemble des valeurs !!!

if (file_exists($fichier))
{
fopen($fichier, "w");
fclose($fpW);
}



$fpW= fopen($fichier, "r+");
fwrite($fpW, "NUM_GROUPE; NUM_ELT; CODE_GROUPE; TYPE_ELT; CODE_ELT; date_entree; date_sortie; date_deb_zonage; HoroMaj; FICHIER;\n");
fclose($fpW);
$fpW= fopen($fichier, "a");
fwrite($fpW, $NUM_GROUPE.";". $NUM_ELT.";". $CODE_GROUPE.";". $TYPE_ELT.";". $CODE_ELT.";". $date_entree.";". $date_sortie.";". $date_deb_zonage.";". $HoroMaj.";". $fichier.";". "\n");


fclose($fpW);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
5 janv. 2006 à 11:29
Je crois que tu devrais lire la doc sur fopen, fwrite etc :

http://fr2.php.net/manual/fr/function.fopen.php
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
5 janv. 2006 à 11:35
ben oui je l'ai lu mais je comprends plus rien !!
quand je mets ça :
$fpW= fopen($fichier, "r+");
fwrite($fpW, "NUM_GROUPE; NUM_ELT; CODE_GROUPE; TYPE_ELT; CODE_ELT; date_entree; date_sortie; date_deb_zonage; HoroMaj; FICHIER;\n");
fclose($fpW);
$fpW= fopen($fichier, "a");
fwrite($fpW, $NUM_GROUPE.";". $NUM_ELT.";". $CODE_GROUPE.";". $TYPE_ELT.";". $CODE_ELT.";". $date_entree.";". $date_sortie.";". $date_deb_zonage.";". $HoroMaj.";". $fichier.";". "\n");

fclose($fpW);

ça marche bien il me met une première ligne avec le nom des champs puis les valeurs !!!
mais si je mets :

$fpW= fopen($fichier, "w");
fclose($fpW);


$fpW= fopen($fichier, "r+");
fwrite($fpW, "NUM_GROUPE; NUM_ELT; CODE_GROUPE; TYPE_ELT; CODE_ELT; date_entree; date_sortie; date_deb_zonage; HoroMaj; FICHIER;\n");
fclose($fpW);
$fpW= fopen($fichier, "a");
fwrite($fpW, $NUM_GROUPE.";". $NUM_ELT.";". $CODE_GROUPE.";". $TYPE_ELT.";". $CODE_ELT.";". $date_entree.";". $date_sortie.";". $date_deb_zonage.";". $HoroMaj.";". $fichier.";". "\n");


fclose($fpW);

il me supprime mes lignes (normal), puis il m'écrit le nom des champs (normal) mais ensuite il ne me ré-écrit pas l'ensemble des valeurs uniquement la dernière !!!
Je comprends plus rien !!!!!
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
5 janv. 2006 à 16:22
Quelqu'un peut-il me dire pourquoi lorsque je fais ça ça marche bien sauf qu'il ne met pas la première ligne de valeurs ???

$fpW= fopen($fichier, "r+");
fwrite($fpW, "cleUnique; NUM_GROUPE; NUM_ELT; CODE_GROUPE; TYPE_ELT; CODE_ELT; date_entree; date_sortie; date_deb_zonage; HoroMaj; FICHIER;\n");
fwrite($fpW, "\n");
fwrite($fpW, "\n");
fwrite($fpW, "\n");
fwrite($fpW, "\n");
fclose($fpW);
$fpW= fopen($fichier, "a+");
fwrite($fpW, $cleUnique.";". $NUM_GROUPE.";". $NUM_ELT.";". $CODE_GROUPE.";". $TYPE_ELT.";". $CODE_ELT.";". $date_entree.";". $date_sortie.";". $date_deb_zonage.";". $HoroMaj.";". $fichier.";". "\n");
fclose($fpW);

svp !!!!!!!!!!!!!!!!!!!!!!!!!!!
0
Rejoignez-nous