hallo leute,
einige unter euch werden bestimmt lachen, aber für mich als anfäger ist das eine recht problematische sache!
ich habe ein script gebastelt, welches daten aus einer ASCII-Datenbank einliest, in ein multidimensionales array liest sortiert und eigentlich auch wieder ausgeben sollte! Ach ja und es soll eine bestimmte zeile gelöscht werden!
hier mal das script-->>
	
die zeilen nummer ($num) bekommt es aus einer flashdatei und die is eigentlich auch richtig! mein problem liegt -glaube ich zumindest- beim schreiben der neuen daten!
vor dem schreiben steht folgende in der datei:
20060202°°02.02.2006°°aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa°°aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a°°\n
nur mal als beispiel -->> es sind mehrere zeilen, der selben art drin!
nach dem schreiben ist nur noch die erste zeile da! bzw der rest sieht so aus:
°°°°°°\n
ich weis zwar schon, dass dies meine trennzeichen sind! aber warum sind dazwichen keine infos mehr!
kann mir bitte mal jemand auf die sprünge helfen!!!!
ich glaub mittlerweile echt schon, dass ich zu blöd bin!
vielen dank schonmal im voraus!
liebe grüße
sebastian
					einige unter euch werden bestimmt lachen, aber für mich als anfäger ist das eine recht problematische sache!
ich habe ein script gebastelt, welches daten aus einer ASCII-Datenbank einliest, in ein multidimensionales array liest sortiert und eigentlich auch wieder ausgeben sollte! Ach ja und es soll eine bestimmte zeile gelöscht werden!
hier mal das script-->>
PHP-Code:
	
	
$num = $HTTP_POST_VARS['num'];
$datei = "../../data/nws.dat";
$inhalt = file($datei);
$anzahl = count($inhalt);
for ($i =0;$i < $anzahl;$i++) {
$eintrag = explode("°°",$inhalt[$i]);
$val["db_key"][$i]=$eintrag[0];
$val["db_datum"][$i]=$eintrag[1];
$val["db_title"][$i]=$eintrag[2];
$val["db_entry"][$i]=$eintrag[3];
$val["db_lnk"][$i]=$eintrag[4];
}
//ARRAY NACH KEY SORTIEREN
array_multisort($val["db_key"],SORT_REGULAR,SORT_DESC,$val["db_datum"],$val["db_title"],$val["db_entry"],$val["db_lnk"]);
//löschen
unset($val["db_key"][$num]);
unset($val["db_datum"][$num]);
unset($val["db_title"][$num]);
unset($val["db_entry"][$num]);
unset($val["db_lnk"][$num]);
//datei löschen
unlink ($datei);
//neuen Inhalt nach löschen zählen
$newanzahl = count($val["db_key"]);
//Daten aus Array in strings schreiben
for ($i=0;$i<$newanzahl;$i++) {
$string[$i] = $val["db_key"][$i]."°°".$val["db_datum"][$i]."°°".$val["db_title"][$i]."°°".$val["db_entry"][$i]."°°".$val["db_lnk"][$i]."\n";
}
//Strings in neue Datei schreiben
$fp = fopen($datei, "w+");
for ($i=0;$i<$newanzahl; $i++) {
fwrite($fp, "$string[$i]");
}
echo ("&best=ok&"); 
vor dem schreiben steht folgende in der datei:
20060202°°02.02.2006°°aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa°°aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa a°°\n
nur mal als beispiel -->> es sind mehrere zeilen, der selben art drin!
nach dem schreiben ist nur noch die erste zeile da! bzw der rest sieht so aus:
°°°°°°\n
ich weis zwar schon, dass dies meine trennzeichen sind! aber warum sind dazwichen keine infos mehr!
kann mir bitte mal jemand auf die sprünge helfen!!!!
ich glaub mittlerweile echt schon, dass ich zu blöd bin!
vielen dank schonmal im voraus!
liebe grüße
sebastian
 
          
 Moderator
 Moderator

 
  
							
						 Ich glaub übrigens, daß sich hier die wenigsten als Teil einer Szene sehen. Also ich zumindest nicht. Ich hab mit diesem Teil meiner Arbeit großen Spaß und bezahle meine Miete damit. Mehr nicht.
 Ich glaub übrigens, daß sich hier die wenigsten als Teil einer Szene sehen. Also ich zumindest nicht. Ich hab mit diesem Teil meiner Arbeit großen Spaß und bezahle meine Miete damit. Mehr nicht.  
							
						
Kommentar