windows uptime script


Ebben a tutorialban a Windows futásidejének az előcsalásával fogunk foglalkozni.
Szükséges hozzávalók: egy php futtatására képes Windows-os webszerver.
Én Apache 2.0.49-et PHP 4.3.5 -el használok Windows XP rendszeren.

Mivel a PHP nem támogatja a futásidő lekérését közvetlenül, ezért egy kis C++ is lesz a tutorialban, de nem bonyolult az se :)

C++ rész

uptime.cpp:
#include <windows.h>
#include <stdio.h>
int main()
{
int time = 0;
time = GetTickCount();
printf("%i", time);
return(time);
}

A két #include sorral a fejlécfájlokat olvassuk be (ezekben vannak a fügvények…)
majd létrehozunk egy int (egész szám) típusú változót 0 értékkel. A GetTickCount() fügvénnyel olvassuk ki a windows futásidejét – e miatt kell a windows.h header fájl – és belepakoljuk a változónkba, majd kiírjuk – ezt a kimenetet fogja az exec() megkapni.

A progit lefordítva is megtaláljátok, gondolom nem mindenkinek van Visual C++ vagy egyébb alkalmas szoftvere a fordításhoz.

A PHP rész:
Az elején az exec() lefutattja az uptime.exe -t az elérési útvonalat természetesen írjuk át arra ahova tettük az exe -t. Érdemes kívülre tenni a www könyvtárból és akkor senki nem tudja letölteni. Az exec az utolsó sorral tér vissza amit eltárol az $uptime változóban – ezredmásodpercben. Az algoritmust ami által nap, óra, perc, másodperc alakot vesz fel a cucc, nem magyarázom (egyszerű szorzás, osztás kivonás :) )
Mostmár készen vannak a változók. Az egyszerűbb skinelhetőség érdekében template fájlt használok. Az str_replace sorok cserélik ki a megfelelő adatra a template elemeit.

Skinezés:
A template.php fájlt kell szerkeszteni. A !nap! !ora! !perc! !masodperc! fog lecserélődni a megfelelő számértékre. A template-t én dreamweaver-ben készítettem, majd a forrásán a " lecseréltem " -re és elé raktam az alábbi kódot (sort)

beszurandó sor

<?php $tpl="

sort a végére meg a php lezáró tagjét "; ?> és már kész is a template :) A " jeleket azért kell lecserélni, mert egyébként azthinné a php, hogy ott vége van a stringnek és elszállna parse errorral :/

A forrásfájlok letölthetők innen

Ezt egyébként meg lehet a progi nélkül is csinálni ha a PHP-ba a W32api be van töltve, de én úgy vagyok vele, hogy ne foglalja a memóriát :)

Szerző: BlackPrince

Kapcsolódó bejegyzések:
  • A szerverről történő oldal-letöltéseket számolja. A működéshez PHP-t futtató szerverre lesz szükségünk. A scriptet be lehet illeszteni a …

  • Biztos találkoztál már olyan oldallal, mely megmutatta a látogatók aktuális IP-jét és/vagy HOST-ját. A módszer nem túl bonyolult, mint az a leírásból is kider&uu …

  • Mercuriustól egy újabb tutorialt kaptunk, nagy köszönet illeti mert már nem az elsőt küldi. :) Ezúttal a tutorial arról szól, hogy lehet szöv …

  • Weblap tervezésénél az egyik legfontosabb dolog az átláthatóság. Ennek egyik alapeleme az, hogy a különböző dolgokat ABC sorrendben írjuk ki… Én ma belefutott …

  • Mivel az én honlapom alapjául is a Mambo tartalomkezelő rendszer szolgál, így gondolom érhető hogy rendszeres látogat&o …

A cikket beküldte: Harder (http://blog.harder.hu)

Szólj hozzá
a windows uptime script c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>