Archívum - Jún 2006 - Fórum téma
június 29
A while lefut csak az első futs értékeit használja
ÜDv!
Az a bajom hogy a while anyiszor lefut ugye ahény sor van(3), de minenhova az első értékeit
adja le...
miért?Előre is köszönöm.
■ Az a bajom hogy a while anyiszor lefut ugye ahény sor van(3), de minenhova az első értékeit
adja le...
miért?
<?php
$server_query = mysql_query("SELECT server_id, server_status_adress, server_status_port, server_status_xml FROM servers");
while ($server_extract = mysql_fetch_assoc($server_query)) {
$server_id = $server_extract['server_id'];
$server_status_adress = $server_extract['server_status_adress'];
$server_status_port = $server_extract['server_status_port'];
$server_status_xml = $server_extract['server_status_xml'];
$server_adress = $server_status_adress;
$server_port = $server_status_port;
$f = @fsockopen($server_adress, $server_port, $errno, $errstr, 2);
if (!f) {
$server_online = 0;
}
if ($f) {
$server_online = 1;
$query = "GET /$server_status_xml\r\n";
$query .= "Host: sylvanas.kani.hu\r\n\r\n";
function xml_extract() {
global $f;
global $xml_site;
$rows = 0;
while ($xml_rows = fgets($f, 4048)) {
if ($rows > 5) {
$xml_site .= $xml_rows;
}
$rows++;
}
}
fwrite($f, $query);
xml_extract();
$parser = xml_parser_create();
xml_set_element_handler($parser, "start_tag", "end_tag");
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
$xml = $xml_site;
$xml = utf8_decode($xml);
function start_tag($parser, $tag, $type) {
global $player_count;
if ($tag == "player") {
$player_count++;
}
}
function end_tag($parser, $tag) {
}
function chd_tag($parser, $tag) {
}
xml_parse($parser, $xml);
xml_parser_free($parser);
if ($f) {
if (isset($player_count)) {
$server_online_users = $player_count;
}
elseif (!isset($player_count)) {
$server_online_users = 0;
}
}
}
if ($server_online == 0) {
$server_online_users = '0';
}
mysql_query("UPDATE servers SET server_online='$server_online', server_online_users='$server_online_users' WHERE server_id='$server_id'");
}
?>
Beágyazott file nevének kiíratása
Egy ehhez hasonló nevű változót keresek:
vagy akármi.
Aki megtalálta már az kérem szóljon!
(tehát kéne egy változó, ami a $_SERVER["PHP_SELF"] és $_SERVER["SCRIPT NAME"]-ekhez hasonlóan működne, de a beágyazott file nevét írná ki)
üdv. krey
■ $GLOBALS["_SERVER"]["RUNNING_SCRIPT"]
$GLOBALS["_SERVER"]["INCLUDED_PHP_SELF"]
$GLOBALS["_SERVER"]["INCLUDED_PHP_SELF"]
vagy akármi.
Aki megtalálta már az kérem szóljon!
(tehát kéne egy változó, ami a $_SERVER["PHP_SELF"] és $_SERVER["SCRIPT NAME"]-ekhez hasonlóan működne, de a beágyazott file nevét írná ki)
üdv. krey
Két dátumidőpon között eltelt idő számítása
Hi!
Adott két időpont ebben a formátumban: ÉÉÉÉ-HH-NN óó:pp:mm. Hogyan tudnám a két dátum között eltelt időt kiszámolni? Az eredmény szintén ebben a formátumban kéne. Köszi minden ötletet.
■ Adott két időpont ebben a formátumban: ÉÉÉÉ-HH-NN óó:pp:mm. Hogyan tudnám a két dátum között eltelt időt kiszámolni? Az eredmény szintén ebben a formátumban kéne. Köszi minden ötletet.
weather location ID
Nemtudom foglalkozott-e valaki a témával, de hátha:
Vannak olyan szolgáltatók, mint a weather.com vagy a yahoo, akik ingyen szolgáltatnak rss infókat egy adott város időjárásáról.
Addig nagyszerűen megy a dolog, hogy lekérem a kérést, és leelemzem(weather.com-on próbáltam), de a város ID megadása, már közel sem ennyire baráti. Szeretnék egy keresőt erre a célra, ami kiadja egy adott város (location) ID-ját (pl.:Budapest - HUXX0002), hogy ne kelljen folyton elrohangálnia szegény user-nek az adott honlapra id miatt.
Találkozott már valaki megoldással?
■ Vannak olyan szolgáltatók, mint a weather.com vagy a yahoo, akik ingyen szolgáltatnak rss infókat egy adott város időjárásáról.
Addig nagyszerűen megy a dolog, hogy lekérem a kérést, és leelemzem(weather.com-on próbáltam), de a város ID megadása, már közel sem ennyire baráti. Szeretnék egy keresőt erre a célra, ami kiadja egy adott város (location) ID-ját (pl.:Budapest - HUXX0002), hogy ne kelljen folyton elrohangálnia szegény user-nek az adott honlapra id miatt.
Találkozott már valaki megoldással?
Keresés egy tömb elemei között
Sziasztok!
Van egy rakás xml állományom egy könyvtárban. Ezek között kéne keresnem a filenevük alapján.
Azt megcsináltam eddig, hogy beolvasom egy tömbbe a könyvtár file-jait és mivel egy szabály alapján épült fel a nevük eddig tökéletesen ment a keresés, azonban jött egy kis bonyodalom. Most azonban változtattak a szabályokon...
Szóval, így fest most egy filenev:
AAA123_060628_xxxxxx.xml
Az xxxxxx helyén tetszőleges számok állhatnak, 5 vagy 6 számjegy. És a keresésénél az összes eredményt meg kéne találnom.
Ha nem elég érthető, akkor:
megadja a felhasználó a keresési feltételt, pl: AAA123 és dátum 060628.
Ez alapján meg kéne találnom az összes olyan xml-t, amelynek a fileneve tartalmazza ezt a sztringet: AAA123_060628.
Remélem érthető voltam. :) Várom az ötleteket. Köszi!
■ Van egy rakás xml állományom egy könyvtárban. Ezek között kéne keresnem a filenevük alapján.
Azt megcsináltam eddig, hogy beolvasom egy tömbbe a könyvtár file-jait és mivel egy szabály alapján épült fel a nevük eddig tökéletesen ment a keresés, azonban jött egy kis bonyodalom. Most azonban változtattak a szabályokon...
Szóval, így fest most egy filenev:
AAA123_060628_xxxxxx.xml
Az xxxxxx helyén tetszőleges számok állhatnak, 5 vagy 6 számjegy. És a keresésénél az összes eredményt meg kéne találnom.
Ha nem elég érthető, akkor:
megadja a felhasználó a keresési feltételt, pl: AAA123 és dátum 060628.
Ez alapján meg kéne találnom az összes olyan xml-t, amelynek a fileneve tartalmazza ezt a sztringet: AAA123_060628.
Remélem érthető voltam. :) Várom az ötleteket. Köszi!
Location() ugrás AJAX-os betöltés után
Hello!
Éppen egy blog motort írok, amely használ AJAX-ot is. Eddig semmi gond, a bejegyzések, kommentek betöltése, minden szép is jó. A probléma ott kezdődik amikor az egyik kommentre akarok ugrani. Ugyebár ezt pl egy "#2"-vel meg is tehetném, de az a gond, hogy AJAX-al betöltött tartalom esetén ez nem működik.
Kitaláltam, hogy akkor miután betöltöttem a kommenteket egy location('#2')-vel odaugrok a 2-es ID-jű kommentre. Ez működne is, csak az a probléma hogy a location még azelőttlefut, hogy az AJAX a tartalmat betöltené a divbe.
Tehát a lényeg az, hogy hogyan tudnám azt elérni, hogy a location csak a div betöltése után fusson le?
Íme a kód:Az eredeti AJAX-os kódot nem én írtam egy jóbarátomtól kaptam. Nos megpróbáltam azt, hogy a document.getElementById("content").innerHTML = AJAX_R.responseText; után adom meg a location-t. Ez így okés is volt, viszont ha az AJAXProcess_Content()-nek adok egy bemeneti változót, pl: AJAXProcess_Content(komment_id), akkor már nem hajlandó működni. Pontosabban tölt tölt, de nem jön be a tartalom. Ebben szeretném a segítségeteket kérni.
A honlap: http://fishblog.fishworks.hu (Bal oldalt van a kommentek rész)
Éppen egy blog motort írok, amely használ AJAX-ot is. Eddig semmi gond, a bejegyzések, kommentek betöltése, minden szép is jó. A probléma ott kezdődik amikor az egyik kommentre akarok ugrani. Ugyebár ezt pl egy "#2"-vel meg is tehetném, de az a gond, hogy AJAX-al betöltött tartalom esetén ez nem működik.
Kitaláltam, hogy akkor miután betöltöttem a kommenteket egy location('#2')-vel odaugrok a 2-es ID-jű kommentre. Ez működne is, csak az a probléma hogy a location még azelőttlefut, hogy az AJAX a tartalmat betöltené a divbe.
Tehát a lényeg az, hogy hogyan tudnám azt elérni, hogy a location csak a div betöltése után fusson le?
Íme a kód:
var AJAX_R = false;
function ajax(func,message){
document.getElementById("content").innerHTML = '<div class="ajax-loading"><!-- Betöltés --></div>';
if (window.XMLHttpRequest){
AJAX_R = new XMLHttpRequest();
}
else if(window.ActiveXObject){
AJAX_R = new ActiveXObject("Microsoft.XMLHTTP");
}
if(func == 'bejegyzesek') { AJAX_R.onreadystatechange = AJAXProcess_Content; }
if(func == 'kommentek') { AJAX_R.onreadystatechange = AJAXProcess_Content; }
AJAX_R.open("GET","funkciok/ajax.php?func="+func+"&"+message,true);
AJAX_R.send(null);
}
function AJAXProcess_Content() {
if (AJAX_R.readyState == 4) {
document.getElementById("content").innerHTML = AJAX_R.responseText;
}
}
A honlap: http://fishblog.fishworks.hu (Bal oldalt van a kommentek rész)
preg_replace_callback // Type 2: Static class method call
kérdés a printFind callback függvényben/metódusban elérhető-e vhogy az eredeti a hívó objektum ill objattrib (esetünkben a $this->origText), vagy marad az eval-os megoldás ?kössz a választ
■
<?php
$sampleText = 'aaa 123 bbb';
class fooFind{
function fooFind($text){
$this->origText = $text;
preg_replace_callback('/[\d]+/',array('fooFind','printFind'),$this->origText);
}
function printFind($matchedText){
echo 'Eredeti:'.$this->origText."\n";
echo 'Találat:'.$matchedText[0]."\n";
}
}
$myFoo = new fooFind($sampleText);
?>
<?php
$sampleText = 'aaa 123 bbb';
class fooFind{
function fooFind($text){
$this->origText = $text;
preg_replace('/[\d]+/e','$this->printFind(\'\\0\')',$this->origText);
}
function printFind($matchedText){
echo 'Eredeti:'.$this->origText."\n";
echo 'Találat:'.$matchedText."\n";
}
}
$myFoo = new fooFind($sampleText);
?>
Xml lehívási távoli gépről és elemzése
Üdv!
Lenne egy ksi gondom xml kezeléssel kapcsolatban:
itt a php kód egy része:
és az a bajom hogy a szerver átad egy ilyen paramétert mikor lehívom
a stats.xml-t
HTTP/1.1 200 OK
Server: WoWEmu
Connection: Close
Content-length: 7601
Content-type: text/xml
nos ez eddig ok is, ezt meg próbálom kiszedni a preg_replace-val,
de a \n vagy is az üres sorok bennmaradnak és így sajnos nem elemzni...Szerintetek hogy tudnám elérni hogy elemezze?
vagy pedig kivenni azt az infót amit a szerver küld?
Előre is kösszönöm...
■ Lenne egy ksi gondom xml kezeléssel kapcsolatban:
itt a php kód egy része:
és az a bajom hogy a szerver átad egy ilyen paramétert mikor lehívom
a stats.xml-t
HTTP/1.1 200 OK
Server: WoWEmu
Connection: Close
Content-length: 7601
Content-type: text/xml
nos ez eddig ok is, ezt meg próbálom kiszedni a preg_replace-val,
de a \n vagy is az üres sorok bennmaradnak és így sajnos nem elemzni...
<?php
$server = "169.254.201.102";
$f = @fsockopen($server, 8080, $err, $errstr, 5);
$query = "GET /stats.xml\r\n";
$query .= "Host: www.php.net\r\n\r\n";
function abc() {
global $f;
global $b;
while ($lap = fgets($f, 1024)) {
$b .= $lap;
}
}
if ($f) {
fwrite($f, $query);
abc();
$c = NULL;
$b = preg_replace("/Server([ a-zA-Z0-9\.\:]*)/", $c, $b);
$b = preg_replace("/HTTP\/([ a-zA-Z0-9\.\:]*)/", $c, $b);
$b = preg_replace("/Connection([ a-zA-Z0-9\.\:]*)/", $c, $b);
$b = preg_replace("/Content-length([ a-zA-Z0-9\.\:]*)/", $c, $b);
$b = preg_replace("/Content-type([ a-zA-Z0-9\.\:\/]*)/", $c, $b);
}
$parser = xml_parser_create();
xml_set_element_handler($parser, "start_tag", "end_tag");
xml_set_character_data_handler($parser, "chd_tag");
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
print $xmla = $b;
$xml = $xmla;
xml_parse($parser, $xml);
/* .... */
?>
vagy pedig kivenni azt az infót amit a szerver küld?
Előre is kösszönöm...
Bot: john@company.com
Halihó!
Ismerő valakinek a következő user-agent?
Mozilla/4.0 john##kukac##company.com
Letölti a robots.txt-t, és 30mp vagy 1 perc van mindig az oldalletöltések között. Mindig UPC-s címekről jön. Nincs sok baj vele, de így is rengeteg oldalletöltést generál.
A magyar (és más kelet-európai) botoknál kifejezetten ritka, hogy civilizált módon kontakt-címet adnának, amit a netikett biztosan, a szabályozások biztosan nem követelnek meg. Szóval egy oldalon, ami napi 200 látogatót számlál (igaz, átlagosan 6 letöltés/látogatóval), ugyanennyi (200) letöltést egy ismeretlen bottól mem szívesen szolgálok ki, főleg, ha nem tudom hova kerül (talán tango.hu?).
Szóval ha valaki tud valamit erről a szörnyetegről, vagy tippet az azonosításra szivesen várom.
B
■ Ismerő valakinek a következő user-agent?
Mozilla/4.0 john##kukac##company.com
Letölti a robots.txt-t, és 30mp vagy 1 perc van mindig az oldalletöltések között. Mindig UPC-s címekről jön. Nincs sok baj vele, de így is rengeteg oldalletöltést generál.
A magyar (és más kelet-európai) botoknál kifejezetten ritka, hogy civilizált módon kontakt-címet adnának, amit a netikett biztosan, a szabályozások biztosan nem követelnek meg. Szóval egy oldalon, ami napi 200 látogatót számlál (igaz, átlagosan 6 letöltés/látogatóval), ugyanennyi (200) letöltést egy ismeretlen bottól mem szívesen szolgálok ki, főleg, ha nem tudom hova kerül (talán tango.hu?).
Szóval ha valaki tud valamit erről a szörnyetegről, vagy tippet az azonosításra szivesen várom.
B
június 28
Xml-ben egy addott tag előfordulásának megszámolása.
Üdv!
LEnne egy kis problémám:
írtam egy xml kezelőt:Nos az a bajom hogy van egy olyan a <stat> tagen belül hogy <players>
és azon belül ha minél több játékos van akkor minnél több <player> tag, és én ezt szeretném megszámolni, de hogyan?
ezt próbáltam de nem jött be
function start_handler($parser, $tag, $type) {
while ($tag == "player") {
$a++;
}
print $a;
}
■ LEnne egy kis problémám:
írtam egy xml kezelőt:
<?php
$parser = xml_parser_create();
xml_set_element_handler($parser, "start_handler", "end_handler");
xml_set_character_data_handler($parser, "character_handler");
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
$xml = file_get_contents("stat.xml");
xml_parse($parser, $xml);
xml_parser_free($parser);
function start_handler($parser, $tag, $type) {
}
function end_handler($parser, $tag) {
}
function character_handler($parser, $text) {
}
?>
és azon belül ha minél több játékos van akkor minnél több <player> tag, és én ezt szeretném megszámolni, de hogyan?
ezt próbáltam de nem jött be
function start_handler($parser, $tag, $type) {
while ($tag == "player") {
$a++;
}
print $a;
}