Problème avec unlink

Résolu/Fermé
beat - 24 juil. 2009 à 13:32
 beat - 24 juil. 2009 à 13:56
Bonjour,

J'ai des legers soucis dans la manipulation de fichiers en php, je dois vous avouer que c'est la première fois que j'essaye de manipuler les fichiers et par conséquent ai quelque difficultés à identifier et surtout résoudre les erreurs.

Je m'explique j'ai une page qui doit m'extraire mes données dans un fichier excel, si mon fichier n'existe pas tout fonctionne parfaitement par contre s'il existe lors des extractions au lieu de me créer un nouveau fichier ou d'écrire je ne sais quoi aucune modification n'est faite sur le fichier.

Voici le code concerné:
if (isset($_POST['extraire']))
{
if (file_exists("monfichier.xls"))
{
echo "Le fichier existe.";
unlink ("monfichier.xls");
}
$fmbX = fopen ("monfichier.xls", "a");
$dtExtract = date ("d / m /Y");
fputs ($fmbX, $dtExtract);
fputs ($fmbX, "\n");
fputs ($fmbX, "\n");
$i=0;
for ( $j = 0; $j < $nombrelignes; $j++)
{
fputs ($fmbX, $_POST[$j]);
i++;
}
fclose ($fmbX);
}

Donc lors de la première extraction le fichier est créé et fonctionne parfaitement et lors des autres
unlink permission denied
Warning: fputs(): supplied argument is not a valid stream resource
Warning: fclose(): supplied argument is not a valid stream resource

J'espère que vous serez meilleurs que moi pour m'aider, Merci!

3 réponses

jambondardennes Messages postés 481 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 6 septembre 2017 39
24 juil. 2009 à 13:40
de ce que j'ai compris de ton code les erreurs viennent du fait que si le fichier existe tu le supprimes avec unlink donc il n'existe plus.
0
Mais théoriquement il devrait le recréer ossitot avec le fopen non?
0
Sinon pour bidouiller j'ai essayer de faire un fopen de cette façon ainsi je pourrais avoir des historiques et plus besoin de unlink:

$date = date ("j / m / a H : i");

$fmbX = fopen ("monfichier".$date.".xls", "a");

Seulement j'ai une erreur
fopen(monfichier24 / 07 /2009 13 : 48.xls) [function.fopen.html]: failed to open stream: No such file or directory

alors que si je remplace par genre
$date = 1;
Ca fonctionne.
0