Rechercher : dans
Par :

PHP:vider un fichier texte

Dernière réponse le 13 jui 2006 à 16:50:41 deb_fab, le 12 jui 2006 à 17:36:08 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « PHP:vider un fichier texte » dans :
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Affichage de texte sur le navigateur VoirLe but de PHP est de permettre la création de pages web dynamiques, ainsi son but premier est de pouvoir envoyer des données au navigateur. Les trois fonctions standards PHP fournit 3 fonctions permettant d'envoyer du texte au navigateur. Ces...
Fichier TXT VoirFormat TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel.

1

B@|-|@N, le 12 jui 2006 à 18:20:12

Tu l'effaces et le recrées ?

Bahan, comment ça moi bourrin ^_^ Close the World.||.txen eht nepO

Répondre à B@|-|@N

2

deb_fab, le 12 jui 2006 à 19:40:36

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">

Répondre à deb_fab

3

dugenou, le 12 jui 2006 à 19:52:14
  • +1

Bonsoir,

Dans la fonction fopen() :

fopen($page,"r+")

essaie de remplacer le r+ par a+

Voir :

http://fr2.php.net/manual/fr/function.fopen.php

Bon courage

Répondre à dugenou

4

deb_fab, le 13 jui 2006 à 09:27:51

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.

Répondre à deb_fab

5

jisisv, le 13 jui 2006 à 10:08:54

Pour rappel
http://php.easynet.be/manual/fr/function.unlink.php

Johan Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

6

 pour_quoi_pas, le 13 jui 2006 à 16:50:41

Salut

Effectivement même si ce n'est pas la manière la plus propre un

fopen("monfichier.ext", "w+")
ça passe.

Ou comme l'a dit jiisiv, d'abord
unlink("chemin/monfichier.ext") 
puis tu le recrée avec le fopen du dessus.

Répondre à pour_quoi_pas