 22.01.2008 20:50 Uhr
|
|
|
|
|
Hallo,
ich möchte für private Zwecke eine Webstatistik in meiner Signatur in einem Forum verstecken. HTML-Code darf ich nicht in die Signatur einbauen, Bilder aber schon. Der eigentliche Code soll also auf meinem Server ausgeführt werden und dieser soll beim Aufrufen der URL nur ein Bild zurückgeben. Ich habe leider keine Idee, wie ich das machen könnte. Geht dies vielleicht mit GD? Oder kennt ihr Anbieter für Webstatistiken, die diesen Service bieten?
MfG
___________________________ Open Minds. Open Sources. Open Future.
The honest one shows his sources!
|
|
 22.01.2008 21:04 Uhr
|
|
|
|
|
Hi braincracked!
Eigentlich ist das ganz leicht. Du musst das Bild nur mit einem php-file auf deinem Server verlinken. Dein php-file liefert dann das Signaturbild zurück und loggt gleichzeitig den Aufruf.
Ich hoffe das reicht.
Gruß,
Xaron
|
|
 22.01.2008 21:20 Uhr
|
|
|
|
|
Wie genau meinst du das jetzt mit dem Verlinken? Habe ich nicht so ganz verstanden.
MfG
___________________________ Open Minds. Open Sources. Open Future.
The honest one shows his sources!
|
|
 22.01.2008 21:28 Uhr
|
|
|
|
|
ungefähr so: PHP:1
2
|
<img src="http://www.domain.net/images/signatur.php" /> |
Der Quelltext auf deinem Server für deine Signatur würde dann so aussehen: PHP:1
2
3
4
5
6
7
8
| <?php
$datei = fopen('meinbild.jpg', r);
echo fread($datei,5000);
fclose $datei;
?> |
Ich weiß nur nicht, ob du auch den Header anpassen muss. PHP:1
2
3
4
5
6
7
8
9
10
11
12
|
$file_extension = strtolower(substr(strrchr($filename,"."),1));
//This will set the Content-Type to the appropriate setting for the file
switch( $file_extension ) {
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
}
header("Content-Type: $ctype"); |
 2 mal bearbeitet ___________________________ im Urlaub...
<?php open_brain($user); ?> FATAL ERROR!!!
Ich bin zurück!!! =>http://www.wieschoo.com
|
|
 23.01.2008 15:39 Uhr
|
|
|
|
|
Ah, vielen Dank für den Code!
Beim Aufrufen der URL http://www.domain.net/images/signatur.php wird der Code auch ausgeführt. Wenn ich das Bild jetzt via HTML einbauen will, dann wird zwar das Bild angezeigt, allerdings wird der zusätzliche Quelltext nicht mehr ausgeführt.
MfG
___________________________ Open Minds. Open Sources. Open Future.
The honest one shows his sources!
|
|
 23.01.2008 16:07 Uhr
|
|
|
|
|
Welchen zusätzlichen Quelltext meinst du? Den von diesem einen PHP-Skript? dann solltest du nochmal deine URL überprüfen.
Du mußt dran denken, dass du zwei selbständig laufende PHP-Skripte hast. Das eine soll die Seite generieren, das andere den Counter erhöhen und ein Bild zurückgeben. Letzteres Skript ist der Wert des src-Attributes deines img-Tags.
Außerdem solltest du nicht die Datei öffnen und mit fread($datei,5000) eine feste Inhaltslänge von 5000 Byte voraussetzen (damit kannst du nämlich derbe auf die Schnauze fallen), sondern die Datei einfach mit readfile() direkt ausgeben (dazu braucht man dann nichtmal fopen() und fclose().
___________________________ Programmieren ist eine Sucht deren Rausch ein Gefühl der Macht ist... sofern man den Computer bezwingt. Gefährliche Nebenwirkungen: Verstärkter Kaffee-Konsum, erhöhter Ehrgeiz und ggf. Wutausbrüche und verknotete Gehirnwindungen.
|
|
 23.01.2008 17:15 Uhr
|
|
|
|
|
Zitat: Welchen zusätzlichen Quelltext meinst du? Den, den ich in dem Script für folgendes eingesetzt habe PHP:1
2
| // dein Statistik-Quelltext
// wie file_put_contents() oder sql-Befehle |
--
Ich verstehe eben nicht, warum dieser zusätzliche Code ausgeführt wird, wenn ich 'signatur.php' im Browser direkt öffne, aber nicht, wenn ich 'signatur.php' als Bild in HTML einbinde. Dann wird nur das Bild angezeigt.
MfG
___________________________ Open Minds. Open Sources. Open Future.
The honest one shows his sources!
|
|
 23.01.2008 18:30 Uhr
|
|
|
|
|
Was tut denn der zusätzliche code? Das Bild wird ja angezeigt, also müsste das Skript ausgeführt werden. Wenn du in dem Skript irgendwelche art von Ausgabe hast, ist das klar, dass da nichts kommt.
___________________________ Programmieren ist eine Sucht deren Rausch ein Gefühl der Macht ist... sofern man den Computer bezwingt. Gefährliche Nebenwirkungen: Verstärkter Kaffee-Konsum, erhöhter Ehrgeiz und ggf. Wutausbrüche und verknotete Gehirnwindungen.
|
|
 23.01.2008 19:49 Uhr
|
|
|
|
|
Hier der Code der singnatur.php PHP:1
2
3
4
5
6
| <?php
$datei = fopen('f5.jpg', r);
echo fread($datei, 5000);
fclose($datei);
echo "<script type=\"text/javascript\" src=\"http://localhost/counter/counter?id=1&cntr=hide\"></script>\n";
?> |
Zitat: Wenn du in dem Skript irgendwelche art von Ausgabe hast, ist das klar, dass da nichts kommt. Und wie löse ich dieses Problem?
MfG
//edit
Mein dritter Stern : )
 1 mal bearbeitet ___________________________ Open Minds. Open Sources. Open Future.
The honest one shows his sources!
|
|
 23.01.2008 21:15 Uhr
|
|
|
|
|
Zitat: Und wie löse ich dieses Problem?
So nicht. PHP:1
2
3
4
5
6
| <?php
$datei = fopen('f5.jpg', r);
echo fread($datei, 5000);
fclose($datei);
echo "<script type=\"text/javascript\" src=\"http://localhost/counter/counter?id=1&cntr=hide\"></script>\n";
?> |
Du müsstest nun ein serverseitiges Script schreiben, das keine Ausgabe erzeugt. Wenn du unbedingt auf Javascript fest gehst  , dann kannst du es so machen:
Du fügst einfach PHP:1
| file_get_contents("http://www.domain.de/pfad/zum/script/mit/js"); |
ein: Ich würde die allerdings raten deine Daten in eine Datenbank zu speichern.
[offtopic] Ich feiere Jubiläum! Mein 333. Post
 2 mal bearbeitet ___________________________ im Urlaub...
<?php open_brain($user); ?> FATAL ERROR!!!
Ich bin zurück!!! =>http://www.wieschoo.com
|
|