Page 1 sur 1

tester si l'écriture dans le fichier texte a bien fonctionné

Posté : 01 août 2005, 10:23
par troudball
Salut et bon lundi,

Existe-t-il une fonction retournant vrai ou faux qui me permette de tester si l'écriture dans un fichier texte (CF code suivant), s'est bien déroulé ?




code :

Code : Tout sélectionner

$fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", "a"); $date = date('H:i, jS F'); $outputstring = $date."\t".$qttpasta." pasta"."\t".$qttpane." pane\t".$qttpiselli." piselli\t"."€".$totalsoldi."\t".$indirizzo."\r\n"; fwrite($fp, $outputstring);
fwrite me retourne un entier, est-ce la somme des caractères écrits dans le fichier texte?
Si oui puis-je alors poser une condition du type :
if (fwrite=0)
{ echo 'commande non envoyée'; }
merci d'avance
A+ :D[/quote]

Posté : 01 août 2005, 10:25
par ouckileou
vu dans la doc :
fwrite() retourne le nombre d'octets écrits ou FALSE en cas d'erreur.
=> http://fr2.php.net/fwrite

Posté : 01 août 2005, 10:39
par troudball
salut ouckileou et merci pou ta réponse,

fwrite me retourne un entier qio est donc la somme des octets écrits dans le fichier texte?

Si oui puis-je alors poser une condition du type :

Code : Tout sélectionner

if (fwrite=0) { echo 'commande non envoyée'; }
Est-ce valable (assurera-t-il que le client saura que sa commande n'a pas été prise en compte) ?

A+

Posté : 01 août 2005, 10:42
par mere-teresa
ah bah en cas d'erreur c'est pas mais FALSE !
Soit un nombre, soit un booleen.
http://fr.php.net/manual/fr/language.types.boolean.php

Posté : 01 août 2005, 10:44
par ouckileou
c'est écrit "renvoie False en cas d'erreur"

donc teste effectivement la valeur de retour pour détecter une erreur, mais à la façon d'un booléen
$ecriture = fwrite();
if (!$ecriture) {
   echo 'Erreur à l'écriture';
}

Posté : 01 août 2005, 10:49
par troudball
OK, merci bien!!