Je reste dans l'expectative, et l'incompréhension (diantre !!)
je teste l'écriture dans un fichier de deux manières suivantes:
1a: je créé un fichier et écris une ligne. (1 script)
1b: j'écris plusieurs lignes. (un second script).
Cela fonctionne sans problème.
2a: Si le fichier n'existe pas, je le créé, puis tente d'écrire plusieurs lignes , avec un chmod 666, au cas où.
Dans ce cas, la création est effectuée, mais pas l'écriture des lignes suivantes. (le tout, en un seul script)
2b: je repasse cette moulinette, et comme le fichier est créé, j'écris sans problème plusieurs lignes (toujours un seul script)
Voici les scripts en question:
// w_fil1.php:
CODE
<?php
include "connect.inc";
include "initvar.php";
$filename = 'C:\Documents and Settings\pc\Mes documents\sites\admin_fnd\save_data.txt';
$r = date('l dS F Y');
if (!file_exists($filename)) include "create_file.php";
$sql = "select nom_ent, metier, ville, n_mail from ent, vend, metier where
ent.id_ent = vend.id_ent and metier.id_metier = vend.id_metier order by nom_ent";
$res = mysql_query($sql);
if (!is_writable($filename))
{
if (!chmod($filename, 0666))
{
echo "Cannot change the mode of file ($filename)";
exit;
}
}
if (!$handle = fopen($filename, 'a'))
{
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}
while ($i = mysql_fetch_array($res))
{
$content = $i['nom_ent'] ."§". $i['metier'] ."§". $i 'ville'] ."§". $i['n_mail'] ."\n";
if (fwrite($handle, $content) === FALSE)
{
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}
}
echo "L'écriture dans le fichier ($filename) a réussi";
fclose($handle);
?>
Le script en "include":
CODE
<?php
$r = date('l dS F Y');
echo "Fichier save_data.txt introuvable !==> Création du fichier de sauvegarde:";
$filename = fopen($filename,"w");
if(fwrite($filename, "Création du fichier - ". $r ."\n"))
{
echo "Création effectuée !";
}
else echo "Erreur création.";
fclose($filename);
?>
$r = date('l dS F Y');
echo "Fichier save_data.txt introuvable !==> Création du fichier de sauvegarde:";
$filename = fopen($filename,"w");
if(fwrite($filename, "Création du fichier - ". $r ."\n"))
{
echo "Création effectuée !";
}
else echo "Erreur création.";
fclose($filename);
?>
Auriez-vous une explication ?
Merci,
xpatval
