PHP et echo

Résolu
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -  
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

J'essais de gérer un message d'alerte lors de la création d'un fichier. Seulement je rencontre un problème...
<?php
$nom_file = '../../../evenements/'.date('dmY').'/index.php';
$texte = "Mon texte";
$f = fopen($nom_file, "x+")
{
echo"Le fichier « index » a été créé avec succès !";}
else
{echo"Le fichier « index » existe déjà...";}
fputs($f, $texte );
fclose($f);
?>


Avez-vous une idée svp ?

2 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    <?php
    $nom_file = '../../../evenements/'.date('dmY').'/index.php';
    $texte = "Mon texte";
    //et le if il est où ?
    if($f = fopen($nom_file, "x+"))
    {
    echo"Le fichier « index » a été créé avec succès !";
    }
    else
    {echo"Le fichier « index » existe déjà...";}
    fputs($f, $texte );
    fclose($f);
    
    /*
    Mais ton test n'est pas bon
    
    fopen ouvre un fichier, si il n'existe pas il le cree,
     donc si fopen vaut true cela ne veut pas dire que le fichier n'existe pas
     mais que le fichier a pu être ouvert même si il vient juste de le creer
    */
    $fichier_existe=false; //init variable de travail
    
    $nom_file = '../../../evenements/'.date('dmY').'/index.php';
    $texte = "Mon texte";
    if(is_file($nom_file)){
    	$fichier_existe=true;	
    }else{
    	$fichier_existe=false;
    }	
    if($f = fopen($nom_file, "x+"))
    {
    	//message sur l'état du fichier
    	if($fichier_existe){ //sous entendu ==true
    		echo"Le fichier « index » existe déjà...";
    	}else{
    		echo"Le fichier « index » a été crée avec succès !";
    	}
    	// on ecrit dedans que si il a pu être ouvert
    	fputs($f, $texte );
    	fclose($f);
    }
    ?>
    
    0
  2. Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
     
    Merci beaucoup !

    Une petite correction, c'est w+ dans la condition et pas a+

    Encore merci Alain_42
    if($f = fopen($nom_file, "w+"))
    0