Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1286 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP]Placer le pointeur au debut du fichier

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP]Placer le pointeur au debut du fichier

n°114644
Nutelaa
powa.
Posté le 20-03-2002 à 08:17:09  profilanswer
 

Voila en fait j'aimerai bien placer le pointeur au debut du fichier, pour ajouter du texte au fichier, et qu'il se mette avant celui que j'avais deja rentrer..
voila le code deja existant, mais qui se contente decrire a la fin du fichier

Citation :


$fp=fopen("msg/list.dat", 'a';) or die("$errormsg" );
fwrite($fp,"test" );
fclose($fp);


---------------
::: Nutelaa :::
mood
Publicité
Posté le 20-03-2002 à 08:17:09  profilanswer
 

n°114714
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:09:18  profilanswer
 

suffit de regarder la doc pour l'ouverture au début du fichier
 [:sh@rdar]  
 
pour le reste, tu lis le contenu, tu concatène et tu réécris.

9.28.30 fopen  
[Notes en ligne] [Exemples]
Ouverture d'un fichier ou d'une URL
 
int fopen (string filename, string mode, int use_include_path )  
Si filename commence par "http://" (insensible à la casse), une connexion HTTP 1.x est ouverte avec le serveur spécifié, et un pointeur sur la réponse fournie est retourné. Une en-tête 'Host:' est envoyé avec la requête, afin de gérer les virtual hosts basés sur les noms.  
Notez que le pointeur de fichier retourné représente le corps de la réponse, et qu'il n'est pas possible d'accéder aux en-têtes HTTP avec cette fonction.  
Les versions antérieures à PHP 4.0.6, ne gère pas les redirections automatiques, ce qui oblige à ajouter les slash finaux "/" pour indiquer un dossier.  
Si filename commence par "ftp://" (insensible à la casse), une connexion FTP est ouverte avec le serveur spécifié, et un pointeur sur la réponse fournie est retourné. Si le serveur ne supporte par le mode FTP passif, fopen() échouera. Vous pouvez ouvrir des fichiers en lecture seulement, ou en écriture seulement (le full duplex n'est pas supporté).  
Si filename commence par "php://stdin", "php://stdout", ou "php://stderr", le flot correspondant sera ouvert. (Cela a été introduit en PHP 3.0.13; dans les anciennes versions, les fichiers "/dev/stdin" ou "/dev/fd/0" devaient être utilisés pour accéder à ces flots).  
Si filename commence par n'importe quoi d'autre, PHP tentera de lire ce fichier dans le système local, et un pointeur sur le fichier ouvert sera retourné.  
Si l'ouverture échoue, fopen() retourne FALSE.  
mode peut prendre les valeurs suivantes :  
 
'r' - Ouvre en lecture seule, et place le pointeur de fichier au début du fichier.  
 
'r+' - Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier.  
 
'w' - Ouvre en écriture seule; 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.  
 
'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.  
 
'a' - Ouvre en écriture seule; place le pointeur de fichier à la fin du fichier file. Si le fichier n'existe pas, on tente de le créer.  
 
'a+' - Ouvre en lecture et écriture; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.  


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114721
dropsy
et bonne chance surtout...
Posté le 20-03-2002 à 10:15:09  profilanswer
 

Nutelaa a écrit a écrit :

Voila en fait j'aimerai bien placer le pointeur au debut du fichier, pour ajouter du texte au fichier, et qu'il se mette avant celui que j'avais deja rentrer..
voila le code deja existant, mais qui se contente decrire a la fin du fichier

Citation :


$fp=fopen("msg/list.dat", 'a';) or die("$errormsg" );
fwrite($fp,"test" );
fclose($fp);

 




 
tu ne peux pas écrire directement au début du fichier... il faut que tu extrais le contenu du fichier dans une string avant, ensuite concaténer avec ce que tu veux rajouter et écrire le tout dans ton fichier.

n°114726
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:17:33  profilanswer
 

dropsy a écrit a écrit :

 
 
tu ne peux pas écrire directement au début du fichier... il faut que tu extrais le contenu du fichier dans une string avant, ensuite concaténer avec ce que tu veux rajouter et écrire le tout dans ton fichier.  




 
je t'ai grillaid :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114732
dropsy
et bonne chance surtout...
Posté le 20-03-2002 à 10:20:24  profilanswer
 

Sh@rdar a écrit a écrit :

 
 
je t'ai grillaid :D  




 
tout de suite, l'autre....
comment il se la pète :D
 
 
 :cry:

n°114736
Nutelaa
powa.
Posté le 20-03-2002 à 10:24:57  profilanswer
 

dropsy a écrit a écrit :

 
 
tu ne peux pas écrire directement au début du fichier... il faut que tu extrais le contenu du fichier dans une string avant, ensuite concaténer avec ce que tu veux rajouter et écrire le tout dans ton fichier.  




wai et jfais comment? :D


---------------
::: Nutelaa :::
n°114741
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:28:13  profilanswer
 

[:sh@rdar]
 
tu regarde à  
 
lit le contenu d'un fichier
écrit dans un fichier


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114742
Nutelaa
powa.
Posté le 20-03-2002 à 10:28:39  profilanswer
 

eh?


---------------
::: Nutelaa :::
n°114747
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:32:03  profilanswer
 

Nutelaa a écrit a écrit :

eh?  




 
et tu te demmerdes un peu  :D  
faut bien se débrouiller seul ou jour ou l'autre.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114748
Nutelaa
powa.
Posté le 20-03-2002 à 10:32:26  profilanswer
 

we mais bon :/
pke j'ai test avec fseek() mais ca a l'air de foiré


---------------
::: Nutelaa :::
mood
Publicité
Posté le 20-03-2002 à 10:32:26  profilanswer
 

n°114750
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:34:13  profilanswer
 

je suis trop généreux
 
les fonctions dont tu as besoin sont :
 
fopen()
fgets()
fseek()
fputs()
fclose()
 
en plus c'est dans l'ordre d'utilisation !


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114753
Nutelaa
powa.
Posté le 20-03-2002 à 10:35:06  profilanswer
 

we jvais test merci ;)


---------------
::: Nutelaa :::
n°114756
Nutelaa
powa.
Posté le 20-03-2002 à 10:38:17  profilanswer
 

au fait c quoi la difference entre fputs() et fwrite() ??


---------------
::: Nutelaa :::
n°114762
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:43:26  profilanswer
 

LA DOC ! (elle est faite pour ça)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114764
Nutelaa
powa.
Posté le 20-03-2002 à 10:47:51  profilanswer
 

Citation :

<?
$fp=fopen("temp.txt", 'w';) or die("$errormsg" );
$char=fgets($fp,256);
fputs($fp," nouvo texte2 \n $char" );
fclose($fp);
?>


jcomprend pas pk ca foire ca !


---------------
::: Nutelaa :::
n°114770
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:52:11  profilanswer
 

Nutelaa a écrit a écrit :

Citation :

<?
$fp=fopen("temp.txt", 'w';) or die("$errormsg" );
$char=fgets($fp,256);
fputs($fp," nouvo texte2 \n $char" );
fclose($fp);
?>


jcomprend pas pk ca foire ca !  




 
qu'est ce qui ne marche pas ?
t'as quoi comme erreur ?
t'as les droits sur le fichier ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114773
Nutelaa
powa.
Posté le 20-03-2002 à 10:54:48  profilanswer
 

Citation :

<?
$fp=fopen("temp.txt","r+" );  
$char=fgets($fp,256);  
fseek($fp,0);  
fputs($fp,"nouvo \n $char" );
echo "$char";
fclose($fp);  
?>


bon j'ai reussi a faire ca mais le probleme c'est que ca lit que la premiere ligne du fichier..
ya pas plus simple pke si jdoit faire un truc encore pour lire ts le fichier ca va compliquer tout :/


---------------
::: Nutelaa :::
n°114778
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:56:45  profilanswer
 

ohllala mais explique ce que tu veux, quel est le but de ton script ?
 
tu pourrais pas plutôt écrire à la fin du fichier ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114781
Nutelaa
powa.
Posté le 20-03-2002 à 10:57:55  profilanswer
 

ben le but c'est de faire une liste de message qui va du plus recent au plu vieux.. donc le plus recent doit etre dans le debut du fichier et le plus vieux.. a la fin ;)


---------------
::: Nutelaa :::
n°114783
Sh@rdar
Ex-PhPéteur
Posté le 20-03-2002 à 10:59:14  profilanswer
 

e tu écris ça comment ? sous forme de variable avec un include après ?
 
tu pourrais pas utiliser une base de données plutôt ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°114789
Nutelaa
powa.
Posté le 20-03-2002 à 11:05:54  profilanswer
 

nan ya pas de base de donnée.. ben jecrit ca comme cke jviens de te montrer lol..
Le seul truc ke je cherche c comment lire tout le fichier avec fgets()


---------------
::: Nutelaa :::
n°114839
dropsy
et bonne chance surtout...
Posté le 20-03-2002 à 11:59:19  profilanswer
 

Nutelaa a écrit a écrit :

nan ya pas de base de donnée.. ben jecrit ca comme cke jviens de te montrer lol..
Le seul truc ke je cherche c comment lire tout le fichier avec fgets()  




 
c marrant comme le monde info est petit. Moi j'avais le même pbm que toi pour mes fichiers log :hello:  
bah, je me suis pas pris la tête, je l'ai classé par ordre chronologique inversé :D et puis ça doit être plus rapide aussi...
 
enfin, c pas ce que tu veux, donc:
<?php
// Lit un fichier, et le place dans une chaîne
  $filename = "/usr/local/quelquechose.txt";
  $fd = fopen($filename, "r" );
  $contents = fread($fd, filesize ($filename));
  fclose($fd);
?>
$contents contient le contenu du fichier.
 
donc ensuite:
$contents = "ta nouvelle ligne de txt\n".$contents;
 
puis zou ton fwrite.

n°114938
Nutelaa
powa.
Posté le 20-03-2002 à 14:05:23  profilanswer
 

merci ;)


---------------
::: Nutelaa :::
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP]Placer le pointeur au debut du fichier

 

Sujets relatifs
[PHP] COPIER UN MODEL DE FICHIER[C++...CKK] pb lecture fichier ... HELP !!!
aide pour un fichier batch !!![PHP] que fait exactement un fclose??
[PHP] if if if non je suis sur que je me prends la tete pour rien :)[C] Ca prend combien de place un pointeur sur fichier? sur structure?
[PHP]Afficher un tableau de manière sophistiquée (à la excel)[PHP JAVASCRIPT] Crée un lien hypertexte sur toute une ligne ..
Plus de sujets relatifs à : [PHP]Placer le pointeur au debut du fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR