Löschen aus Datei - Schnellerer Weg gesucht

hmmNaGut

Erfahrenes Mitglied
Hi Leute.
Folgendes ich habe eine Datei namens

gallerien.dat hier speichere ich die verschiedenen Gallerienamen und die
erstellte id.

Kennt jemand eine schneller Art
etwas aus einer CSV Datei zu löschen.

Danke schon mal für eure Antworten

vlt. fseek .. aber ich habe ja leider die Position nicht

PHP:
	function delete_gallery($id){  //Löscht die Gallerie mit der id;
		global $file_gallery;

		
		$handle=@fopen ($file_gallery, 'r');

		$towrite="";// Hier werden die Sachen zum Schreibe.

		if ($handle==false){
			return false;
		}	

		$found=false;		
		
		while ($data=fgetcsv($handle, 120, '|'))
		{
			// Überprüfen ob es den Eintrag gibt
				if ($id==$data[0]){	// Haupt eintrag mit der ID
					$found=true;
				}
			
			
			if (!$found){
				$towrite.=$data[0] .'|'. $data[1] . "\n";
			}
			$found=false;
			
		}
		fclose($handle);
		
		$handle=fopen($file_gallery, 'w');
			fwrite($handle, $towrite);		
		fclose($handle);
		deleteDirectory($path_gallerie . '/'. $id);  // Verzeichnis mit Bildern löschen
		return true;
	}
 
Hi, villeicht könntest Du beim auslesen die Daten in ein Array packen, Sie dann filtern und rufst die Datei einfach mit fopen("datei","w") auf. Dadurch wird die Datei geleert und Du kannst Sie einfach erneut mit den Daten aus dem Array füttern. Ansonsten müsstest Du die Datei Zeilenweise auslesen und die Daten nach einem Kriterium checken und dann ggf. löschen.

Hoffe konnte Dir etwas weiterhelfen...
 
Danke! WebRabbit für deine Antwort.

Ich werde meine Lösung zwar behalten, da ich noch keine Schwierigkeiten habe
und es ja nur für das Backend ist.

Jedoch wollte ich mal andere Lösungsvorschläge hören.

Danke.
 
Zurück