Links zählen? referer.php?link=http://www.tutorials.de

Experience1986

Erfahrenes Mitglied
Hi @ALL,

Hmm, ich bin totaler PHP neuling. Also, ich benötige einen Code, der Links Zahlt und die Daten dann in eine Textdatei peichert. Also zum beispiel der Link http://www.tutorials.de soll dan so ausehen:

referer.php?link=http://www.tutorials.de

die Datei referer.php soll dann den Link speichern und die Anzahl der Aufrufe und das alles (ohne mysql) in einer Text Datei.
Geht das? und wie.

Ich wäre sehr Dankbar wenn mir da jemand weiterhelfen kann!
 
PHP:
if (isset($link)) {
 $fcont = file('urls.txt');
 $handle = fopen('urls.txt', 'w+');
 $ok = false;
 foreach($fcont as $key => $val) {
    $val = explode(', ', trim($val));
    if ($val[0] == $link) {
     $ok = true;
     $val[1]++;
    };
    $fcont[$key] = implode(', ', $val);
    fputs($handle, $fcont[$key] . "\n");
 };

 if (!$ok) {
  fputs($handle, "$link, 1");
 };

 fclose($handle);

}

so siehts hübsch aus und es klappt ;)

== EDIT ==

natürlich muss eine urls.txt existieren und du musst halt wie in deinem beispiel als parameter referer.php?link=web.de oder sonstwas übergeben.
 
Zuletzt bearbeitet:
OK, erstmal vielen Dank für deine Hilfe. Das ding geht und zählt, nur ich hab vergessen, das das Ding natürlich noch auf die Seite umleiten soll, also die Adresse die nach link= angegeben werden. Wie geht das?
 
ändere den oberen teil einfach so:
PHP:
if (isset($link)) {
header("<meta http-equiv=\"Refresh\" content=\"0; URL=$link\">");
$fcont = file('urls.txt');
 /* ... etc. ... */
 


Isngesamt währe es aber sinniger, keinen Meta-header zu benutzen, weil einige user automatische weiterleitungen deaktiviert haben :)

PHP:
header("Location: $link");

Das is ingesamt besser, schätz ich ma :) Nix gegen dich, Syn :)
 
hallo ihr phpler!

ich hab eine frage/bitte, ich benutze das script folgendermasen:
PHP:
<?php
if (isset($link)) {
header("Location: $link");
$fcont = file('referer.dat');
$handle = fopen('referer.dat', 'w+');
$ok = false;
foreach($fcont as $key => $val) {
echo "hallo";
$val = explode(', ', trim($val));
echo "hallo";
if ($val[0] == $link) {
echo "hallo";
$ok = true;
echo "hallo";
$val[1]++;
};
$fcont[$key] = implode(', ', $val);
fputs($handle, $fcont[$key] . "\n");
};
if (!$ok) {
fputs($handle, "$link, 1");
};
fclose($handle);
}
?>

jetzt würde ich es aber gerne erweitern und zwar über:

PHP:
<a href="referer.php?link=http://www.test.de" target="_blank">www.test.de</a> klicks:<?PHP include("referer.php"); ?>

an der stelle sollte dann wie oft geklickt wurde angezeigt werden.
kenne mich mit php nicht so aus und nehme eure hilfe gern in anspruch.
 
Zuletzt bearbeitet:
Zurück