2010-02-24 5 views
0

Hé les gars, j'ai cherché autour et rien n'est tout à fait ce dont j'ai besoin, je suis horrible avec PHP jusqu'à présent.PHP effacer du fichier

Fondamentalement, j'ai un fichier texte servant de base de données.

Chaque ligne est de la forme:

id|lat|lng|details 

où:

id est un entier unique, lat et lng sont flotteur et details est une chaîne.

J'ai une page client (verrouillée sous user-pass) dans laquelle l'utilisateur entre l'identifiant unique et un script PHP devrait supprimer la ligne dans le fichier qui a cet identifiant unique.

Comment accomplir ceci?

Merci,

Répondre

7

Ceci est une très, très mauvaise idée. Toute manière simple de résoudre ceci sera horriblement racée. Toute manière complète vous laissera vouloir utiliser une vraie base de données. Si vous insistez pour continuer, vous devez copier toutes les lignes dans un nouveau fichier, puis renommer le nouveau fichier.

+0

+1. Pour clarifier légèrement, par "racé", Ignacio signifie presque certainement "enclins aux conditions de course": http://en.wikipedia.org/wiki/Race_condition#File_systems –

0

dire l'ID utilisateur est "1" de l'entrée d'utilisateur

$input="1"; 
$data = file("file"); 
$matches = preg_grep("/^".$input."\|/",$data,PREG_GREP_INVERT); 
print_r($matches); 

$matches contient les lignes que vous voulez. Utilisez file_put_contents ou fopen()/fwrite() etc pour exporter vers le fichier