[RESOLU] aide fonction file_exists (!file_exists)

Petit nouveau ! | 8 Messages

09 juin 2022, 11:13

Bonjour à tous,

Je récupère les données d'un formulaire avec un fichier PHP, le problème est que je n'ai pas d' header dans mon fichier ce qui n'est pas pratique pour traiter les colonnes

du coup j'ai ajouté du code pour avoir les noms des colonnes mais j'aimerais que cela s'affiche qu'a la création du fichier
pour cela je pensais utiliser la fonction (!file_exists) mais cela ne marche pas :-(
si vous pouvez m'aider cela serait grandement apprécié

voici la partie du code qui pose pb :

Code : Tout sélectionner

$dt = date("ym"); $dt2 = date("d/m/y H:i"); $fd =fopen("Files/RAC-".$dt.".csv","a+"); if (!file_exists("Files/RAC-".$dt.".csv" )) { fwrite($fd,'Date'); fwrite($fd,";"); fwrite($fd,'Source'); fwrite($fd,";"); fwrite($fd,'Rachatdecredits'); fwrite($fd,";"); fwrite($fd,'vousetes'); fwrite($fd,";"); fwrite($fd,'Valeurbien'); fwrite($fd,";"); fwrite($fd,'NbCredits'); fwrite($fd,";"); fwrite($fd,'capitalrestantdu'); fwrite($fd,";"); fwrite($fd,'MensualiteActuelle'); fwrite($fd,";"); fwrite($fd,'AutresCredit'); fwrite($fd,";"); fwrite($fd,'CapitalAutresCreditDu'); fwrite($fd,";"); fwrite($fd,'MensualiteAutresCredit'); fwrite($fd,";"); fwrite($fd,'Tresorerie'); fwrite($fd,";"); fwrite($fd,'BesoinTresorerie'); fwrite($fd,";"); fwrite($fd,'Fichage'); fwrite($fd,";"); fwrite($fd,'Profession'); fwrite($fd,";"); fwrite($fd,'RevenuFoyer'); fwrite($fd,";"); fwrite($fd,'NBenfants'); fwrite($fd,";"); fwrite($fd,'Dettes'); fwrite($fd,";"); fwrite($fd,'DettesMontant'); fwrite($fd,";"); fwrite($fd,'Civilite'); fwrite($fd,";"); fwrite($fd,'Nom'); fwrite($fd,";"); fwrite($fd,'Prenom'); fwrite($fd,";"); fwrite($fd,'DateNaissance'); fwrite($fd,";"); fwrite($fd,'Telephone'); fwrite($fd,";"); fwrite($fd,'Email'); fwrite($fd,";"); fwrite($fd,'CodePostal'); fwrite($fd,";"); fwrite($fd,'Ville'); fwrite($fd,";"); fwrite($fd,'CoEmprunteur'); fwrite($fd,";"); fwrite($fd,"\n"); //A LA FIN ON BOUGE PAS } fwrite($fd,$dt2); fwrite($fd,";"); fwrite($fd,$_SESSION['utm_source']); fwrite($fd,";"); fwrite($fd,$Rachatdecredits); fwrite($fd,";"); fwrite($fd,$vousetes); fwrite($fd,";"); fwrite($fd,$Valeurbien); fwrite($fd,";"); fwrite($fd,$NbCredits); fwrite($fd,";"); fwrite($fd,$capitalrestantdu); fwrite($fd,";"); fwrite($fd,$MensualiteActuelle); fwrite($fd,";"); fwrite($fd,$AutresCredit); fwrite($fd,";"); fwrite($fd,$CapitalAutresCreditDu); fwrite($fd,";"); fwrite($fd,$MensualiteAutresCredit); fwrite($fd,";"); fwrite($fd,$Tresorerie); fwrite($fd,";"); fwrite($fd,$BesoinTresorerie); fwrite($fd,";"); fwrite($fd,$Fichage); fwrite($fd,";"); fwrite($fd,$Profession); fwrite($fd,";"); fwrite($fd,$RevenuFoyer); fwrite($fd,";"); fwrite($fd,$NBenfants); fwrite($fd,";"); fwrite($fd,$Dettes); fwrite($fd,";"); fwrite($fd,$DettesMontant); fwrite($fd,";"); fwrite($fd,$Civilite); fwrite($fd,";"); fwrite($fd,$Nom); fwrite($fd,";"); fwrite($fd,$Prenom); fwrite($fd,";"); fwrite($fd,$DateNaissance); fwrite($fd,";"); fwrite($fd,$Telephone); fwrite($fd,";"); fwrite($fd,$Email); fwrite($fd,";"); fwrite($fd,$CodePostal); fwrite($fd,";"); fwrite($fd,$Ville); fwrite($fd,";"); fwrite($fd,$CoEmprunteur); fwrite($fd,";"); fwrite($fd,"\n"); //A LA FIN ON BOUGE PAS fclose($fd); header('Location:/success.html'); ?>
Merci à tous pour votre aide
Michael

ynx
Mammouth du PHP | 586 Messages

09 juin 2022, 12:22

Bonjour,

Le fichier csv est créé/ouvert avec la fonction fopen.
La condition à la ligne suivante, if (!file_exists(...)), sera toujours vraie puisque le fichier csv est toujours créé juste avant avec fopen.

Tu peux par exemple vérifier que le fichier existe avant de l'ouvrir/le créer avec fopen :
if (!file_exists("Files/RAC-".$dt.".csv" )) {
    // le fichier n'existe pas
    $fd = fopen("Files/RAC-".$dt.".csv","x+");
    fwrite($fd,'Date');
    // etc ...
} else {
    // le fichier existe
    $fd = fopen("Files/RAC-".$dt.".csv","a+");
}

fwrite($fd,$dt2);
// etc ...

Petit nouveau ! | 8 Messages

09 juin 2022, 13:34

Bonjour Ynx,

merci pour ta réponse
je viens de faire le test mais je pense avoir mal intégrer ton code
je ne te cache pas que je débute avec php et j'ai beaucoup de mal


$dt = date("ym");
$dt2 = date("d/m/y H:i");

if (!file_exists("Files/RAC-".$dt.".csv" )) {
// le fichier n'existe pas
$fd = fopen("Files/RAC-".$dt.".csv","x+");
fwrite($fd,'Date');
// etc ...
} else {
// le fichier existe
$fd = fopen("Files/RAC-".$dt.".csv","a+");
}

fwrite($fd,$dt2);
fwrite($fd,'Date');
fwrite($fd,";");
fwrite($fd,'Source');
fwrite($fd,";");
fwrite($fd,'Rachatdecredits');
etc...

Petit nouveau ! | 8 Messages

09 juin 2022, 13:45

j'avais pas bien lu ton code c'est parfait !!!!!!
Merciiiii