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

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
<?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
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