Bildcounter auf Coppermine erste
In der Tabelle "cpg11d_hit_stats"
stehen die aufgerufenen Bilder, der Host, und die Aufrufzeit.
cpg11d_hit_stats:
Damit die Zeit korrekt dargestellt wird, muß die
Spaltendefinition von "sdata" von biginit (20) nach "text"
umgewandelt werden.
Dann in der /www/www.380volt.com/include/functions.inc.php
folgenden String suchen:
$time = time();
und durch folgenden String ersetzen:
$datum = date("Y.m.d -
H:i:s - l - ");
// erzeugt eine Datumszahl - pro Tag eine Zahl
$timestamp = time();
$stamp = date("Ymd",$timestamp);
// Eintrag in die Datenbank
$time = $datum . $stamp;
script-pics-per-guest.php:
<html>
<?php
define('IN_COPPERMINE', true);
define('SEARCH_PHP', true);
require('include/init.inc.php');
pageheader($lang_search_php[0]);
"<br><br>" ;
?>
<body link="#000000" vlink="#808080" alink="#C0C0C0">
<table border="1" width="100%" height="100%" bordercolor="#000000" id="table1" style="border-width:0px; " cellspacing="0" cellpadding="0">
<tr>
<td width="100%" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:none;
border-top-width:medium; border-bottom-style:solid; border-bottom-width:1px" bordercolor="#C0C0C0" height="5%" bgcolor="#F7F7F7">
<font face="Arial"><b> <font size="4">Hier werden die Bildaufrufe pro Host und
pro Tag aus der Coppermine 1.4.19 Datenbank ausgelesen </font></b></font><br>
</td>
</tr>
<tr>
<td width="100%" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:none; border-top-width:medium;
border-bottom-style:solid; border-bottom-width:1px" bordercolor="#C0C0C0" height="2%" bgcolor="#F7F7F7">
<font face="Arial"><b> Eine Anleitung und das Skript hierfür gibt es hier: </b></font>
<b><font face="Arial">
<a href="http://www.sr71.dyndns.info/info--php-pictures-per-guest-with-whois.php">http://www.sr71.dyndns.info/info--php-pictures-per-guest-with-whois.php</a></font></b>
</td>
</tr>
<tr>
<td width="100%" height="80%" valign="top" style="border-style:none; border-width:medium; padding-left: 10px; padding-right: 10px;
padding-top:10px; " align="left" bordercolor="#FFFFFF" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0">
<?php
// Aktuelle Uhrzeit ausgeben
$datum = date("d.m.Y");
$uhrzeit = date("H:i:s");
// Zeitstempel
$timestamp = time();
// Datumszahl seit 1.1.1970
// $endtag = round($timestamp / (24*3600));
// schneidet alle Nachkommastellen ab
$endtag = floor($timestamp / (24*3600));
// Zahl der Tage die gezählt werden
$starttag = $endtag -10;
echo "Datum $datum<br>";
echo "Uhrzeit $uhrzeit<br>";
echo "Startzeit: $starttag<br>";
echo "Endzeit: $endtag<br>";
echo "<br>";
// Kopfzeile der Tabelle
echo "<table border=1 width=450 cellpadding=#0 cellspacing=#0 bordercolor=#D1D7DC bgcolor=#ffffff style='border-collapse:collapse'>";
echo "<tr style='font-family: Arial' style='font-size:11px'>";
echo "<td width=250>";
echo "Zeitpunkt des ersten Zugriffs";
echo "<td width=100>";
echo "IP vom Gastrechner";
echo "<td width=100>";
echo "Aufgerufenen Bilder";
echo "</tr>";
echo "</table>";
 
// Muster um den Tage des Jahres vom uebrigen Datum herausfiltern zu koennen
// $muster = "--";
 
// While-Schleife wird fuer jeden Tag des Jahres durchlaufen.
// Die Schleife generiert die "LIKE '%$endtag%'" Anweisung in der SQL Abfrage
// Das Suchmuster $tag z.B. "--345" steht in der sdate - Spalte der Tabelle cpg11d_hit_stats
while($starttag <= $endtag)
{
$tag = "$endtag";
$db = mysql_connect("localhost", "user", "pw");
mysql_select_db("imagedb",$db);
$sql_ip = mysql_query ("SELECT sdate, ip, COUNT(ip) FROM cpg11d_hit_stats WHERE sdate LIKE '%$endtag' GROUP BY ip ORDER BY sdate DESC ",$db);
// Tabelle fuer die Datenausgabe
echo "<table border=1 width=450 cellpadding=#0 cellspacing=#0 bordercolor=#D1D7DC bgcolor=#ffffff style='border-collapse:collapse'>";
while($myrow = mysql_fetch_array($sql_ip))
{
echo "<tr style='font-family: Arial' style='font-size:11px'>";
echo "<td width=250><font color=#000000>";
echo $myrow["sdate"];
echo "</td>";
// IP-Adresse zu Link
// orig:
// echo "<td width=100><font color=#0000FF>";
echo "<td width=100>";
// hier wird der Link http://www.sr71.dyndns.info/script--pictures-per-guest.php?domain= generiert
echo "<a href="http://www.sr71.dyndns.info/script--pictures-per-guest.php?domain=";
echo $myrow["ip"];
echo "">";
// Farbe des Links
// echo "<font color=#0000FF>";
// Name des Links
echo $myrow["ip"];
echo "</a>";
// orig:
// echo $myrow["ip"];
echo "<td width=100><font color=#0000FF>";
echo $myrow["COUNT(ip)"];
echo " </tr>";
}
echo "</table>";
// Datumszahl seit 1.1.1970 wird um eins verringert
$endtag--;
}
echo "<br>";
?> |
Hier das Skript mit integrierter WHOIS - Auflösung:
|
<html>
<?php
define('IN_COPPERMINE', true);
define('SEARCH_PHP', true);
require('include/init.inc.php');
pageheader($lang_search_php[0]);
"<br><br>" ;
?>
<body link="#000000" vlink="#808080" alink="#C0C0C0">
<table border="1" width="100%" height="100%" bordercolor="#000000" id="table1" style="border-width:0px; " cellspacing="0" cellpadding="0">
<tr>
<td width="100%" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:none;
border-top-width:medium; border-bottom-style:solid; border-bottom-width:1px" bordercolor="#C0C0C0" height="5%" bgcolor="#F7F7F7">
<font face="Arial"><b> <font size="4">Hier werden die Bildaufrufe pro Host und
pro Tag aus der Coppermine 1.4.19 Datenbank ausgelesen </font></b></font><br>
</td>
</tr>
<tr>
<td width="100%" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:none; border-top-width:medium;
border-bottom-style:solid; border-bottom-width:1px" bordercolor="#C0C0C0" height="2%" bgcolor="#F7F7F7">
<font face="Arial"><b> Eine Anleitung und das Skript hierfür gibt es hier: </b></font>
<b><font face="Arial">
<a href="http://www.sr71.dyndns.info/info--php-pictures-per-guest-with-whois.php">http://www.sr71.dyndns.info/info--php-pictures-per-guest-with-whois.php</a></font></b>
</td>
</tr>
<tr>
<td width="100%" height="80%" valign="top" style="border-style:none; border-width:medium; padding-left: 10px; padding-right: 10px;
padding-top:10px; " align="left" bordercolor="#FFFFFF" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0">
<?php
// Aktuelle Uhrzeit ausgeben
$datum = date("d.m.Y");
$uhrzeit = date("H:i:s");
// Zeitstempel
$timestamp = time();
// Datumszahl seit 1.1.1970
// $endtag = round($timestamp / (24*3600));
// schneidet alle Nachkommastellen ab
$endtag = floor($timestamp / (24*3600));
// Zahl der Tage die gezählt werden
$starttag = $endtag -10;
echo "Datum $datum<br>";
echo "Uhrzeit $uhrzeit<br>";
echo "Startzeit: $starttag<br>";
echo "Endzeit: $endtag<br>";
echo "<br>";
// Kopfzeile der Tabelle
echo "<table border=1 width=450 cellpadding=#0 cellspacing=#0 bordercolor=#D1D7DC bgcolor=#ffffff style='border-collapse:collapse'>";
echo "<tr style='font-family: Arial' style='font-size:11px'>";
echo "<td width=250>";
echo "Zeitpunkt des ersten Zugriffs";
echo "<td width=100>";
echo "IP vom Gastrechner";
echo "<td width=100>";
echo "Aufgerufenen Bilder";
echo "</tr>";
echo "</table>";
 
// Muster um den Tage des Jahres vom uebrigen Datum herausfiltern zu koennen
// $muster = "--";
 
// While-Schleife wird fuer jeden Tag des Jahres durchlaufen.
// Die Schleife generiert die "LIKE '%$endtag%'" Anweisung in der SQL Abfrage
// Das Suchmuster $tag z.B. "--345" steht in der sdate - Spalte der Tabelle cpg11d_hit_stats
while($starttag <= $endtag)
{
$tag = "$endtag";
$db = mysql_connect("localhost", "user", "pw");
mysql_select_db("imagedb",$db);
$sql_ip = mysql_query ("SELECT sdate, ip, COUNT(ip) FROM cpg11d_hit_stats WHERE sdate LIKE '%$endtag' GROUP BY ip ORDER BY sdate DESC ",$db);
// Tabelle fuer die Datenausgabe
echo "<table border=1 width=450 cellpadding=#0 cellspacing=#0 bordercolor=#D1D7DC bgcolor=#ffffff style='border-collapse:collapse'>";
while($myrow = mysql_fetch_array($sql_ip))
{
echo "<tr style='font-family: Arial' style='font-size:11px'>";
echo "<td width=250><font color=#000000>";
echo $myrow["sdate"];
echo "</td>";
// IP-Adresse zu Link
// orig:
// echo "<td width=100><font color=#0000FF>";
echo "<td width=100>";
// hier wird der Link http://www.sr71.dyndns.info/script--pictures-per-guest.php?domain= generiert
echo "<a href="http://www.sr71.dyndns.info/script--pictures-per-guest.php?domain=";
echo $myrow["ip"];
echo "">";
// Farbe des Links
// echo "<font color=#0000FF>";
// Name des Links
echo $myrow["ip"];
echo "</a>";
// orig:
// echo $myrow["ip"];
echo "<td width=100><font color=#0000FF>";
echo $myrow["COUNT(ip)"];
echo " </tr>";
}
echo "</table>";
// Datumszahl seit 1.1.1970 wird um eins verringert
$endtag--;
}
echo "<br>";
?>
<!-- Hier kommt das WHOIS Tool -->
<table style="border-collapse: collapse" border="1" bordercolor="#CAD0D7" width="420">
<tr>
<td>
Das WHOIS Tool frägt einen Server von whois.geektools.com ab.<br>
Der Server lässt max. 50 Abfragen pro Tag zu.<br>
Sind die 50 Abfragen überschritten, geht es erst am nächsten Tag weiter.<br>
----------------------------------------------------------------------------------<br>
<br>
<?php
include "script--Hazard.Whois.php";
if (isset($_GET['domain'])) {
print whois($_GET['domain']);
}
?>
<br />
<form action="script--pictures-per-guest.php" method="get">
<input type="text" name="domain" size="40" value = "<?php print $_GET['domain']; ?>"/>
<input type="submit" value="Get Whois Info" />
</form>
</td>
</tr>
</table>
<br><br>
</body>
|
Das Script script--Hazard.Whois.php:
Das Script muß im gleichen Verzeichnis stehen, wie das "script-pics-per-guest.php"
Script
<?php
function whois($domainName) {
$whoisServer = "whois.geektools.com";//server where the query is sent
$output = "";
$connection = fsockopen($whoisServer, 43);//connect to server
//return error if could not connect to server
if (!$connection) {
$output = "Sorry, we could not connect to the server. Please try again later.";
}
else {
fwrite($connection, $domainName . "rn");//send query to server
//catch server reply
while (!feof($connection)) {
$output .= fgets($connection);
}
fclose($connection);
}
$output = str_replace("n", "<br />n", $output);
return $output . "";
}
?> |
© J.Schilling 02.01.2009
|