JürgenSchilling

  EDV-Service | Fotografie | Fotoarbeiten   

 


 Home

 Black&White
 Fotogramme
 Infrarot
 Kategorien
 Lightbox
 Lochkamera
 Portrait
 

Advanced ___________

 Service:
 EDV-Manuals

 Belichtungszeitentabelle
 Schrauben u. Gewinde
 

 Einführung in die:
 Beurteilung v. Negativen
 Farbmischung
 Filmentwicklung
 Infrarotfotografie
 Blitzlichtfotographie
 
 Entwicklungszeiten:
 Agfa Rodinal
 Kodak D76

 Tiefenschärferechner:
 Komplex  Einfach


 Fotolabor


 Kontakt / Impressum

 
______

 Zähler:
 Bilder pro Gast
 Zugriffszähler

 myPHPadmin
 
B4YCounter

 Login  Logout
 
Files

 Alle Bilder als Link

Von einem Gast aufgerufene Bilder in "Coppermine" zählen. Die IP wird mit einem WHOIS Tool verlinkt.

Bildcounter auf Coppermine erste

 

In der Tabelle "cpg11d_hit_stats" stehen die aufgerufenen Bilder, der Host, und die Aufrufzeit.


cpg11d_hit_stats:

 sid pid ip search_phrase  sdate referer browser os  
13 13847 87.174.245.31   2009.01.05 - 21:30:39 - Monday - 20090105 http%3A%2F%2Fwww.380volt.dyndns.info%2Fdisplayimag... Unknown Windows XP
16 14371 87.174.232.118   2009.01.05 - 13:33:12 - Sunday - 20090104 http%3A%2F%2Fwww.380volt.dyndns.info%2Fthumbnails.... Unknown Windows XP
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>&nbsp;&nbsp; <font size="4">Hier werden die Bildaufrufe pro Host und  
        pro Tag aus der Coppermine 1.4.19 Datenbank ausgelesen&nbsp;&nbsp;</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>&nbsp;&nbsp; Eine Anleitung und das Skript hierf&uuml;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>";
&
#12288;
// Muster um den Tage des Jahres vom uebrigen Datum herausfiltern zu koennen
// $muster = "--";
&#12288;
// 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>&nbsp;&nbsp; <font size="4">Hier werden die Bildaufrufe pro Host und  
        pro Tag aus der Coppermine 1.4.19 Datenbank ausgelesen&nbsp;&nbsp;</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>&nbsp;&nbsp; Eine Anleitung und das Skript hierf&uuml;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>";
&
#12288;
// Muster um den Tage des Jahres vom uebrigen Datum herausfiltern zu koennen
// $muster = "--";
&#12288;
// 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&auml;gt einen Server von whois.geektools.com ab.<br> 
Der Server l&auml;sst max. 50 Abfragen pro Tag zu.<br>
Sind die 50 Abfragen &uuml;berschritten, geht es erst am n&auml;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($whoisServer43);//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