PHP:vider un fichier texte
deb_fab
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
Psycho -
Psycho -
bonjour
sur un site, je dois modifier le contenu d'un fichier texte de base.
jusque la pas de probleme. ouverture ok et ecriture ok.
mais quand on réécris un texte qui est plus court que le précedent, le partie non-écrasé reste. la fin de fichier n'est apparement pas deplacé.
ce qui deonne en fin de compte de textes du genre :
...texte...htm>tm>m>htm>m>
il faudrait donc que je vide le fichier avant.
quelqu'un sauari comment svp ? merci
sur un site, je dois modifier le contenu d'un fichier texte de base.
jusque la pas de probleme. ouverture ok et ecriture ok.
mais quand on réécris un texte qui est plus court que le précedent, le partie non-écrasé reste. la fin de fichier n'est apparement pas deplacé.
ce qui deonne en fin de compte de textes du genre :
...texte...htm>tm>m>htm>m>
il faudrait donc que je vide le fichier avant.
quelqu'un sauari comment svp ? merci
A voir également:
- PHP:vider un fichier texte
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
8 réponses
J'ouvre mon fichier en ecriture:
Je tronque mon fichier jusqu'au pointeur en position 0.
Manuel PHP:
FOPEN : http://fr2.php.net/manual/fr/function.fopen.php
FTRUNCATE : http://fr2.php.net/manual/fr/function.ftruncate.php
$ecrire = fopen('fichier.txt',"w");
Je tronque mon fichier jusqu'au pointeur en position 0.
ftruncate($ecrire,0);
Manuel PHP:
FOPEN : http://fr2.php.net/manual/fr/function.fopen.php
FTRUNCATE : http://fr2.php.net/manual/fr/function.ftruncate.php
NoBoDy
ça marche niquel ;-)
Psycho
Merci!
en faite pour récision, je fais que l'ouvrir et ecrire dedant.
si ca peut aider :
<?
$page=$_GET['fichier']; //passage du nom de fichier en url
$lignetot=$_POST['body']; //passage du texte en post
$monfichier=fopen($page,"r+"); //ouverture de fichier
fseek($monfichier,0);
// la, j'essaye de vider le fichier, pas convainquant !
while($i<=999)
{
fputs($monfichier," ");
$i=$i+1;
}
fputs($monfichier," ");
fseek($monfichier,0);
fputs($monfichier,stripslashes($lignetot)); // et on réécrit le nouveau texte
fclose($monfichier); // ferme le fichier
?>
<meta http-equiv="refresh" content="0;URL=AMPO_ADMIN.php">
si ca peut aider :
<?
$page=$_GET['fichier']; //passage du nom de fichier en url
$lignetot=$_POST['body']; //passage du texte en post
$monfichier=fopen($page,"r+"); //ouverture de fichier
fseek($monfichier,0);
// la, j'essaye de vider le fichier, pas convainquant !
while($i<=999)
{
fputs($monfichier," ");
$i=$i+1;
}
fputs($monfichier," ");
fseek($monfichier,0);
fputs($monfichier,stripslashes($lignetot)); // et on réécrit le nouveau texte
fclose($monfichier); // ferme le fichier
?>
<meta http-equiv="refresh" content="0;URL=AMPO_ADMIN.php">
ou bien sinon avec simplement la fonction
cf : https://www.php.net/manual/fr/function.file-put-contents.php
file_put_contents($nomfichier, $contenu)
cf : https://www.php.net/manual/fr/function.file-put-contents.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Dans la fonction fopen() :
fopen($page,"r+")
essaie de remplacer le r+ par a+
Voir :
https://www.php.net/manual/fr/function.fopen.php
Bon courage
Dans la fonction fopen() :
fopen($page,"r+")
essaie de remplacer le r+ par a+
Voir :
https://www.php.net/manual/fr/function.fopen.php
Bon courage
merci
mais je vourai remplacer le texte et non l'ajouter a la fin.
par contre dans ton lien j'ai remarqué un w+ : Ouvre en lecture et écriture ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
je m'en vais le tester sur le champs.
mais je vourai remplacer le texte et non l'ajouter a la fin.
par contre dans ton lien j'ai remarqué un w+ : Ouvre en lecture et écriture ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.
je m'en vais le tester sur le champs.