Links zählen (speziell)

Lethal_Dark

Mitglied
Hi ich habe eine Datei die links.txt
Code:
www.link1.de|Kategorie1|12
www.link2.de|Kategorie2|233
www.link3.de|Kategorie2|45
www.link1.de|Kategorie3|12

wenn jetzt meine count.php mit der url count.php?www.link1.de aufgerufen wird soll bei jedem Eintrag mit www.link1.de die Zahl um eins erhöhen und dann der link aufgerufen werden.

Wie mach ich das?
Help :confused:
 
  • An die Zeichen hinter dem Fragezeichen kommst du mit der Variable $_SERVER['QUERY_STRING']
  • Eine Datei in ein Array zeilenweise einlesen funktioniert mit [phpf]file[/phpf]
  • Eine Zeichenkette anhand eines Trennzeichens in ein Array zerlegen kann [phpf]explode[/phpf]
  • Weiterleiten kann man beispielsweise via header('Location: http://www.url.de');
 
An die Zeichen hinter dem Fragezeichen kommst du mit der Variable $_SERVER
Ich weis
Eine Datei in ein Array zeilenweise einlesen funktioniert mit file()
Weis ich auch
Eine Zeichenkette anhand eines Trennzeichens in ein Array zerlegen kann explode()
Weis ich... :(
Weiterleiten kann man beispielsweise via header('Location: http://www.url.de');
jo auch das weis ich

Aber wie finde ich die betreffende stelle.
Hab schon ein paar sachen versucht kann mir jemand bitte einen codeschnipsel geben oder nen lösungsansatz?
 
Beispiel:
PHP:
<?
$links=file(/*...*/);
$links2Dim=array();
foreach($links AS $l) {
    $links2Dim[]=explode("|",$l);
}
$links=array();
$linkExists=false;
foreach($links2Dim AS $l) {
    if ($l[0] == $_SERVER['QUERY_STRING']) {
        $l[2]++;
        $linkExists=false;
    }
    $links[]=implode("|",$l);
}
$stringToWrite=implode("\n",$links);

//Datei neu anlegen und
//$stringToWrite reinschreiben

if ($linkExists) {
    header("siehe oben");
} else {
    //Die Abfrage kann man ggf. vor dem
    //letzten implode machen und den Link
    //als neuen Link anfügen
    echo "link nicht vermerkt";
}
?>
Bitte nicht einfach kopieren und meckern, ich habe das hier im Editor getippt, es können also Fehler drin sein.

Gruß hpvw
 
Zurück