FTP statistics automatisch tonen op webpagina

  • Onderwerp starter Onderwerp starter Elger
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Elger

Gebruiker
Lid geworden
29 okt 2003
Berichten
8
Ik gebruik Bulletproof als ftp-server voor het verspreiden van diverse data.
Nu wil ik graag statistieken van de server tonen op mijn website. De statistieken worden elk uur automatisch bijgewerkt. In de dir van bulletproof heb ik het bestand Top-All.mdl geplaatst, waaruit de Top-All.top voortkomt met de vernieuwde stats volgt.

Top-All.mdl ziet er als volgt uit:

Code:
Date: |%DATE|             Stats!  
Time: |%TIME|

----<TOP 5 UPLOADERS>-----------------------------------------
1. |%TOPULNAME1|  |  |%TOPULMBUL1| MB  |  |%TOPULKBPSUL1| KB/s 
2. |%TOPULNAME2|  |  |%TOPULMBUL2| MB  |  |%TOPULKBPSUL2| KB/s
3. |%TOPULNAME3|  |  |%TOPULMBUL3| MB  |  |%TOPULKBPSUL3| KB/s
4. |%TOPULNAME4|  |  |%TOPULMBUL4| MB  |  |%TOPULKBPSUL4| KB/s
5. |%TOPULNAME5|  |  |%TOPULMBUL5| MB  |  |%TOPULKBPSUL5| KB/s

----<TOP 5 DOWNLOADERS>---------------------------------
1. |%TOPDLNAME1|  |  |%TOPDLMBDL1| MB  |  |%TOPDLKBPSDL1| KB/s
2. |%TOPDLNAME2|  |  |%TOPDLMBDL2| MB  |  |%TOPDLKBPSDL2| KB/s
3. |%TOPDLNAME3|  |  |%TOPDLMBDL3| MB  |  |%TOPDLKBPSDL3| KB/s
4. |%TOPDLNAME4|  |  |%TOPDLMBDL4| MB  |  |%TOPDLKBPSDL4| KB/s
5. |%TOPDLNAME5|  |  |%TOPDLMBDL5| MB  |  |%TOPDLKBPSDL5| KB/s

Als elk uur de ftp server nieuwe stats genereerd, wordt de Top-All.mdl ingevuld en heb ik de Top stats.

Nu zou ik graag deze stats automatisch willen kopieren richting een tabel die ik kan tonen op internet. Ik zou deze pagina graag elk uur automatisch laten vernieuwen. Overigens host ik zelf de site, dus ze hoeven niet automatisch te worden geupload richting een host, maar alleen naar de htdocs dir van Apache.

Mijn vraag is hoe ik hiervoor kan zorgen. Ik dacht zelf aan PHP, maar helaas heb ik nog erg weinig kennis in PHP. Ik heb de begin tutorial gedaan van php.net, maar ik zou graag de essentie weten, dus op welke onderwerpen ik moet zoeken.

Nog een keer kort gezegd wat ik wil:
De gegevens uit Top-All.top automatisch elk uur in een webpagina zetten, en deze webpagina kopieren naar de dir van Apache (htdocs) zodat ze direct te zien zijn op internet.

Bij voorbaat dank,
Elger
 
Ik heb wat weinig tijd, maar ik zal je voor nu alvast op weg helpen. Heb even een schets gemaakt:

PHP:
<?php

$file = "Top-All.top";

$fp = fopen($file, "r");	//bestand openen

$content = fread($fp, filesize($fp));		//lees inhoud aan de hand van bestandsgrootte

/*
	Heel simpel gezien zou je met een aantal replaces het geval wat opmaak kunnen geven.
*/

$content = str_replace("----<TOP 5 UPLOADERS>-----------------------------------------",
				 	 						 "<table ...><tr><td><b>top 5 UPL</b></td></tr>", $content);

/* Zo zou je dat ook kunnen doen met alle andere aspecten die je moet opmaken... */ 

?>
 
Allereerst, ontzettend bedankt voor je inspanning! :thumb:

ik heb direct de file in de folder c:\Program Files\Apache Group\Apache\htdocs\... gezet, evenals een kopie van Top-All.top. Zodat ik op deze manier kon kijken wat het resultaat zou zijn, voordat ik was preciezer naar de 'replaces' ging kijken.

Echter kreeg ik deze foutmelding:
Code:
Warning: filesize(): Stat failed for Resource id #1 (errno=2 - No such file or directory) in c:\program files\apache group\apache\htdocs\stats.php on line 13
Hierbij heb ik precies jouw code gekopieerd en in stats.php gezet.

Op http://elger.servebeer.com/stats.php zie je dit resultaat ook, site zal 's nachts vaak offline zijn, ik host het namelijk zelf.

Mvg,
Elger
 
Je moet even kijken naar de bestandsnaam of die goed is. Het is volgens mij ook hoofdlettergevoelig dus als de bestandsnaam in werkelijkheid geen hoofdletters heeft, dit even veranderen. Je zou ook nog kunnen proberen een / voor de filenaam te zetten om aan te geven dat het in dezelfde map staat als het php bestand.

Het script "functioneerd" wanneer je bij de uitvoering ervan geen output krijgt. Ik echo of print nl niets in dit script, ik replace alleen wat en sla dat nog niet eens op ook.

Binnenkort zal ik het ff afmaken voor je maar ok nu moet ik ergens anders mee bezig.
 
Ik zie geloof ik al wat er fout is: Dat filesize($fp) zou best eens filesize($file) moeten kunnen zijn. Probeer dat ook eens als eerdergenoemde aanpassingen niets uithalen :).
 
Ik ga direct aan de slag, ontzettend bedankt voor de antwoorden/tips.

Met wat hulp van php.net moet er nu vast wel iets uitkomen. Ik ben in ieder geval erg benieuwd.

Nogmaals bedankt!

-edit- Ok wat betreft de werking van het php script is het gelukt! :thumb:
het ziet er nu als volgt uit:
Code:
<?php



$file = "C:\Program Files\Apache Group\Apache\htdocs\Top-All.top";

$fp = fopen($file, "r");    //bestand openen

$content = fread($fp, filesize($file));        //lees inhoud aan de hand van bestandsgrootte

/*   Heel simpel gezien zou je met een aantal replaces het geval wat opmaak kunnen geven.*/

$content = str_replace("----<TOP 5 UPLOADERS>-----------------------------------------",
                                               "<table ..><tr><td><b>top 5 UPL</b></td></tr>", $content);

/* Zo zou je dat ook kunnen doen met alle andere aspecten die je moet opmaken... */ 

?>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan