Ik denk het niet ....quote:Op zondag 3 februari 2008 16:11 schreef Geqxon het volgende:
Kan PHP geen functies met dezelfde namen hebben? Maar dan met een andere parameter-count of andere parameters? Dus dat je twee maal checklogin hebt, maar dan met een andere parameter-count of type parameters?
Je kunt geen echte overloads maken in PHP, maar met default waarden voor parameters of anders met func_get_args () / func_num_args() kan je wel bereiken wat jij wil.quote:Op zondag 3 februari 2008 16:11 schreef Geqxon het volgende:
Kan PHP geen functies met dezelfde namen hebben?
1 2 3 4 5 6 | </li> <li class="cat-item cat-item-4 current-cat"><a href="http://localhost:8080/wordpress/?cat=4" title="View all posts filed under Filmpjes">Filmpjes</a> </li> <li class="cat-item cat-item-5 current-cat"><a href="http://localhost:8080/wordpress/?cat=4" title="View all posts filed under Opmerkelijk">Opmerkelijk</a> </li> |
1 |
1 |
Kan als enum, met 0 een 1.quote:Op maandag 4 februari 2008 14:20 schreef super-muffin het volgende:
In deze richting:
[ code verwijderd ]
Vraagje: Hoe slaan jullie booleans op in een MySQL database? gewoon als 0 als false en 1 als true?
een int en dan gewoon 0 en 1quote:Op maandag 4 februari 2008 14:20 schreef super-muffin het volgende:
In deze richting:
[ code verwijderd ]
Vraagje: Hoe slaan jullie booleans op in een MySQL database? gewoon als 0 als false en 1 als true?
Probeer het nu via JomBackup.quote:Op maandag 4 februari 2008 15:51 schreef -J-D- het volgende:
Ben bezig met een cronjob om een testdatabase te backuppen naar een ftp server en een gmail-adres.
Dit lukt niet echt.
Ik hoop dat iemand zin heeft om te helpen via msn ( msn apenstaart maarten.es )
Dan kan die persoon namens mij misschien inloggen en kijken wat ik fout doen.
1 2 3 4 5 6 7 8 | SELECT c.comp_name FROM whufc_wedstrijden w, whufc_comps c, whufc_teams t WHERE w.wedstrijd_cid = c.comp_id ?> |
1 2 3 4 5 | FROM whufc_comps c LEFT JOIN whufc_wedstrijden AS w ON c.ID = w.wedstrijd_cid LEFT JOIN whufc_teams AS u ON w.HIERHETVELDVOORUITID = u.ID LEFT JOIN whufc_teams AS t ON w.HIERHETVELDVOORTHUISID = t.ID |
Thnx, ga me gelijk weer is inlezen in die joinsquote:Op maandag 4 februari 2008 23:47 schreef Geqxon het volgende:
Ik gok zoiets:
[ code verwijderd ]
Vul de hoofdletters zelf maar in.
Iemand enig idee waar dit aan kan liggen?\quote:SELECT ID, QTY, ARTIST, TITLES, MEDIA, PRICE, CTY FROM producten WHERE ARTIST LIKE 'GOODWIN & OTHERS, RON' OR TITLES LIKE 'GOODWIN & OTHERS, RON' OR LABEL LIKE 'GOODWIN & OTHERS, RON' AND QTY > 0 ORDER BY TITLES ASC
1 2 3 | mysql_query("SELECT ID, ARTIST, TITLES, MEDIA, PRICE, CTY FROM producten WHERE (ARTIST LIKE '%$input%') OR (TITLES LIKE '%$input%') OR (LABEL LIKE '%$input%') AND QTY > 0 ORDER BY TITLES ASC") ?> |
1 2 3 4 5 | FROM producten WHERE ((ARTIST LIKE '%$input%') OR (TITLES LIKE '%$input%') OR (LABEL LIKE '%$input%') ) AND QTY > 0 ORDER BY TITLES ASC |
Het is niet zozeer dat het om alle ORs moet. In jouw geval is het "Het moet voldoen aan (A OF B OF C) EN D". En dan moet je de haakjes plaatsen zoals SuperRembo dat hierboven toont.quote:Op dinsdag 5 februari 2008 13:43 schreef Doc.Brown het volgende:
Ah, in PHP staan wel haakjes om de individuele OR's, maar niet om álle OR's. Zal het eens proberen
Dat werkt, misschien niet de meest nette oplossing dan? Maar het werktquote:WHERE (ARTIST LIKE '%$input%' AND QTY > 0) or (TITLES LIKE '%$input%' AND QTY > 0) or (LABEL LIKE '%$input%' AND QTY > 0)
Hou er wel rekening mee dat query's met like en wildcards aan het begin en eind een van de traagste query's zijn; mysql kan er geen gebruik maken van indexes en dat ga je echt merken als je meer dan een paar records in je tabel hebt zitten. Dan wordt het moddertraag.quote:Op dinsdag 5 februari 2008 13:57 schreef Doc.Brown het volgende:
Ahzo! Het is inmiddels opgelost, een maat van me had iets anders geprobeerd:
[..]
Dat werkt, misschien niet de meest nette oplossing dan? Maar het werkt
In ieder geval bedankt
1 2 3 | file_put_contents($this->errLog, $this->timestamp . " " . implode(',',$this->errors) . "\r\n", FILE_APPEND); ?> |
http://nl3.php.net/manual/en/function.file-put-contents.phpquote:joined with the binary OR (|) operator.
1 2 3 | FILE_APPEND | LOCK_EX ?> |
Je hebt alle benodigde dll's op de aangegeven plaats staan?quote:Op woensdag 6 februari 2008 20:03 schreef Chandler het volgende:
Vraagje, als ik op mijn lokale machine openssl wil toevoegen aan php.ini krijg ik de volgende error
[ afbeelding ]
wat kan ik hier aan doen? tevens werkt openssl dan niet
1 2 3 | print $hexcode . ""; ?> |
1 2 3 | var $hexstring = (string) $hexcode; ?> |
waarom zou je niet char() doen in je database?quote:Op donderdag 7 februari 2008 00:13 schreef wonderer het volgende:
Oooh. Heh. Okee, ga ik proberen, dank je wel.
Edit: weird. ik dacht, laat ik settype() gebruiken. Werkte niet. Toen het trucje met .""; erachter. WErkte ook niet. Even controleren wat voor soort string het is met gettype(): string!
En nu weet ik het niet meerHet is dus een string, waarom slaat hij het niet als zodanig op?
Ze staan op dezelfde plek als ook GD en de rest van de DLL's bestaan gewoon, maar ik vraag me af wat die %1 betekendquote:Op woensdag 6 februari 2008 23:06 schreef Tarabass het volgende:
Je hebt alle benodigde dll's op de aangegeven plaats staan?
http://www.phpbuilder.com/board/showthread.php?t=10337286
http://www.php.net/manual/en/ref.openssl.php
Yeah weet ik maar heeft niet men voorkeurquote:Op donderdag 7 februari 2008 10:31 schreef Xcalibur het volgende:
Ik denk niet dat je het met SQL zelf kunt, maar je kunt natuurlijk wel de records ophalen met die tekst, str_replace eroverheen (in PHP) en de records weer updaten
Tof dankje ff proberen zoquote:Op donderdag 7 februari 2008 10:41 schreef Chandler het volgende:
replace string in all records from a table :
update mytable set myfield = replace (myfield, "one", "two");
display a modified record set
SELECT REPLACE(myfield, 'one', 'two') from mytable;
Hehe moet eerlijk zeggen dat ik de docs niet echt lekker vond smorgens voordat ik postequote:Op donderdag 7 februari 2008 14:25 schreef Chandler het volgende:
Haha WyriHaximus, had niet verwacht dat jij deze niet zou kennen
Je moet ook naar de replace functie kijken, niet naar het replace statementquote:Op donderdag 7 februari 2008 14:33 schreef WyriHaximus het volgende:
[..]
Hehe moet eerlijk zeggen dat ik de docs niet echt lekker vond smorgens voordat ik postehttp://dev.mysql.com/doc/refman/4.1/en/replace.html
Ayequote:Op donderdag 7 februari 2008 15:32 schreef SuperRembo het volgende:
[..]
Je moet ook naar de replace functie kijken, niet naar het replace statement
1 2 3 4 5 6 | <option style="color:#ffffff;" value="ffffff">wit</option> <option style="color:#000080;" value="000080">marine blauw</option> <option style="color:#000099;" value="000099">000099</option> etc |
Dit is hem uiteindelijk geworden:quote:Op maandag 4 februari 2008 23:47 schreef Geqxon het volgende:
Ik gok zoiets:
[ code verwijderd ]
Vul de hoofdletters zelf maar in. :+
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | w.wedstrijd_id AS wid, w.wedstrijd_datum AS datum, t.team_naam AS thuis, u.team_naam AS uit, w.wedstrijd_score AS score, c.comp_name AS compnaam FROM whufc_wedstrijden w INNER JOIN whufc_teams AS t ON w.wedstrijd_thuis = t.team_id INNER JOIN whufc_teams AS u ON w.wedstrijd_uit = u.team_id INNER JOIN whufc_comps AS c ON w.wedstrijd_cid = c.comp_id WHERE w.wedstrijd_sid = $actsid ORDER BY w.wedstrijd_datum |
Top dat het gelukt is!quote:Op donderdag 7 februari 2008 21:01 schreef MrDoegewoon het volgende:
[..]
Dit is hem uiteindelijk geworden:
[ code verwijderd ]
Gaat het fout bij het opslaan of bij het weer uitlezen? Als je eerst opslaat en dan met phpmyadmin kijkt wat er dan staat dan heb je vast meer infoquote:Op donderdag 7 februari 2008 20:42 schreef wonderer het volgende:
Overigens doe ik echo gettype($kleur) en echo $kleur bij het bericht dat het is opgeslagen, en daar klopt de waarde en is het een string. Er gaat dus iets mis bij het opslaan
Opslaan. Hij slaat het als numerieke waarde (of zo) op, namelijk (bijv) 7e+23. En dat is dan 688E25.quote:Op donderdag 7 februari 2008 21:39 schreef Light het volgende:
[..]
Gaat het fout bij het opslaan of bij het weer uitlezen? Als je eerst opslaat en dan met phpmyadmin kijkt wat er dan staat dan heb je vast meer info
Toevoeging: heb je ook de hele query, zoals je die in php opbouwt? Ik denk dat het daar mis gaat namelijk.
Hoe bouw je die query op in php? Als in, wat geef je mysql_query mee? Ik denk dat het daar mis gaat, en dan wel met de quotjes.quote:Op donderdag 7 februari 2008 21:50 schreef wonderer het volgende:
[..]
Opslaan. Hij slaat het als numerieke waarde (of zo) op, namelijk (bijv) 7e+23. En dat is dan 688E25.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $d=connectDB(); $result=runquery("UPDATE chat_handles SET chatname=".quote_smart($chatname,$d).", avatar=".quote_smart($avatar,$d).", kleur=".quote_smart($kleur,$d).", accesskey=".quote_smart($accesskey,$d).", description=".quote_smart($description,$d)." WHERE saveas=".quote_smart($saveas,$d)." AND username=".quote_smart($user,$d),$d); function quote_smart($value,$dblink) { if (get_magic_quotes_gpc()) { $value = stripslashes($value); } if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value,$dblink) . "'"; } return $value; } ?> |
1 2 3 4 5 | if (!is_numeric($value) || $force) { $value = "'" . mysql_real_escape_string($value,$dblink) . "'"; } ?> |
Alles wat in een text/(var)char veld in een database moet komen, moet worden voorzien van quotes. En alles wat in een getalveld komt, mag juist geen quotes hebben. Niet dat MySQL zo strikt is, maar 't is beter om het goed aan te wennen.quote:Op donderdag 7 februari 2008 23:22 schreef Arjan321 het volgende:
de is_numeric op (688E25) geeft (waarschijnlijk) true terug, waardoor je dus geen quotes in je query krijgt, en je dus een integer (688E25) in je string kolom`kleur` probeert op te slaan.
Om dit op te lossen kan je bijvoorbeeld een derde optionele parameter maken die forced om toch quotes om je value heen te geven..
[ code verwijderd ]
sowieso kan je op jouw huidige manier (een hoop) onnodige conversies in je database server krijgen, omdat dingen als string worden opgeslagen maar als integer kunnen binnenkomen..
1 2 3 4 5 6 7 8 9 10 11 12 13 | $result=runquery("UPDATE chat_handles SET chatname='".quote_smart($chatname,$d)."', avatar='".quote_smart($avatar,$d)."', kleur='".quote_smart($kleur,$d)."', accesskey='".quote_smart($accesskey,$d)."', description='".quote_smart($description,$d)."' WHERE saveas='".quote_smart($saveas,$d)."' AND username='".quote_smart($user,$d)."'",$d); function quote_smart($value,$dblink) { if (get_magic_quotes_gpc()) { $value = stripslashes($value); } //Het is niet echt erg om een getal te string_escapen, het getal verandert er iig niet door. return mysql_real_escape_string($value,$dblink); } ?> |
eerste regexp doet niks, en de 2e doet het half :{quote:Op donderdag 31 januari 2008 16:44 schreef Farenji het volgende:
- de tekst per regel inlezen
- als de regel met een ; begint: skippen
- met een regexp de md5 hash en de filename eruitfilteren:
Ongetest:
/^([a-f0-9]{32})/ voor de md5 (het gaat om het gedeelte tussen haakjes)
/\*(.*)$/ voor de filename
De md5 hashcode is (per definitie!) uniek voor een bestand dus die kun je als key gebruiken in je database.
1 2 3 4 | preg_match_all("/\*(.*)$/ ",$_POST["hash"],$hash); print_r($hash); ?> |
1 |
1 |
Weet je zeker dat het bestand netjes per regel wordt ingelezen? Het lijkt er op dat het een bestand van 1 regel is, of dat het als zodanig wordt ingelezen.quote:Op vrijdag 8 februari 2008 00:04 schreef qu63 het volgende:
inhoud van $_PST["hash"] is
[ code verwijderd ]
in de textarea staat het over meerdere regels verspreid, maar in de $_POST komt het als 1 regel er uit geloof ik.. Ik ga wel weer wat aanklooienquote:Op vrijdag 8 februari 2008 09:19 schreef Light het volgende:
[..]
Weet je zeker dat het bestand netjes per regel wordt ingelezen? Het lijkt er op dat het een bestand van 1 regel is, of dat het als zodanig wordt ingelezen.
ik heb welquote:Op vrijdag 8 februari 2008 12:01 schreef Xcalibur het volgende:
check eens op \r\n, \r en \n als regeleinden.... :)
1 2 3 4 | preg_match_all("/\*(.*)$/ ",str_replace("\n","<br>",$_POST["hash"]),$hash); print_r($hash); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | ; Size: 2021 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 14:34:34 a9417892c908eef3c573220b6a24c3bf *POTWDVD019.txt ; Size: 14309 bytes, Creation date: 2006-03-15 14:34:08, Modification date: 2006-03-15 14:34:09 65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.BUP ; Size: 26597 bytes, Creation date: 2006-03-15 14:34:10, Modification date: 2006-03-15 14:34:11 65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.IFO ; Size: 73701 bytes, Creation date: 2006-03-15 14:34:12, Modification date: 2006-03-15 14:34:12 196d82e1f7afacc6ea4f4a1caa0dbc2f *VIDEO_TS\VIDEO_TS.VOB ; Size: 114661 bytes, Creation date: 2006-03-15 14:34:13, Modification date: 2006-03-15 14:34:19 f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.BUP ; Size: 155621 bytes, Creation date: 2006-03-15 14:34:20, Modification date: 2006-03-15 14:34:23 f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.IFO ; Size: 10924005 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 15:24:07 5defea3427c04218c81dff47ee69f1a0 *VIDEO_TS\VTS_01_0.VOB ; Size: 1083848677 bytes, Creation date: 2006-03-15 15:24:08, Modification date: 2006-03-28 03:14:40 72b9c827ec29e43ce356b8733e5e2957 *VIDEO_TS\VTS_01_1.VOB ; Size: 2156382181 bytes, Creation date: 2006-04-02 13:17:52, Modification date: 2006-04-18 10:15:47 d1db84986d126e5838f167bd52e3be56 *VIDEO_TS\VTS_01_2.VOB ; Size: 3229100005 bytes, Creation date: 2006-04-03 14:09:27, Modification date: 2006-04-16 17:39:54 48e67b2589ddc5e60ef2e156d4e23b0b *VIDEO_TS\VTS_01_3.VOB ; Size: 3329441765 bytes, Creation date: 2006-04-08 06:02:52, Modification date: 2006-04-08 08:19:34 c308f264d32ff5b645e9b9485e7b34c1 *VIDEO_TS\VTS_01_4.VOB ) [1] => Array ( [0] => POTWDVD019 - Rock Aid America - The Making of Smoke On The Water.md5 ; Size: 2021 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 14:34:34 a9417892c908eef3c573220b6a24c3bf *POTWDVD019.txt ; Size: 14309 bytes, Creation date: 2006-03-15 14:34:08, Modification date: 2006-03-15 14:34:09 65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.BUP ; Size: 26597 bytes, Creation date: 2006-03-15 14:34:10, Modification date: 2006-03-15 14:34:11 65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.IFO ; Size: 73701 bytes, Creation date: 2006-03-15 14:34:12, Modification date: 2006-03-15 14:34:12 196d82e1f7afacc6ea4f4a1caa0dbc2f *VIDEO_TS\VIDEO_TS.VOB ; Size: 114661 bytes, Creation date: 2006-03-15 14:34:13, Modification date: 2006-03-15 14:34:19 f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.BUP ; Size: 155621 bytes, Creation date: 2006-03-15 14:34:20, Modification date: 2006-03-15 14:34:23 f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.IFO ; Size: 10924005 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 15:24:07 5defea3427c04218c81dff47ee69f1a0 *VIDEO_TS\VTS_01_0.VOB ; Size: 1083848677 bytes, Creation date: 2006-03-15 15:24:08, Modification date: 2006-03-28 03:14:40 72b9c827ec29e43ce356b8733e5e2957 *VIDEO_TS\VTS_01_1.VOB ; Size: 2156382181 bytes, Creation date: 2006-04-02 13:17:52, Modification date: 2006-04-18 10:15:47 d1db84986d126e5838f167bd52e3be56 *VIDEO_TS\VTS_01_2.VOB ; Size: 3229100005 bytes, Creation date: 2006-04-03 14:09:27, Modification date: 2006-04-16 17:39:54 48e67b2589ddc5e60ef2e156d4e23b0b *VIDEO_TS\VTS_01_3.VOB ; Size: 3329441765 bytes, Creation date: 2006-04-08 06:02:52, Modification date: 2006-04-08 08:19:34 c308f264d32ff5b645e9b9485e7b34c1 *VIDEO_TS\VTS_01_4.VOB ) ) |
1 2 3 4 5 6 7 8 | $regular_expression = '#; Size: ([0-9]{1,20}) bytes, '; $regular_expression .= 'Creation date: ([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2}), '; $regular_expression .= 'Modification date: ([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2})'; $regular_expression .= '\r\n([a-z0-9]{32})'; $regular_expression .= ' \*(.*)\r\n#Us'; preg_match_all($regular_expression, $data, $matches, PREG_SET_ORDER); ?> |
ik heb er nu een textarea van gemaakt ipv een file-upload.quote:Op vrijdag 8 februari 2008 13:16 schreef Xcalibur het volgende:
maar je leest het bestand niet per regel in dan?
Dat lijkt me wel een goed begin namelijk.....
En dan dus per regel de regex eroverheen, dan moet het een stuk overzichtelijker worden
thanks, ik ga daar wel ff mee spelenquote:Op vrijdag 8 februari 2008 13:36 schreef Geqxon het volgende:
qu63, met deze regex krijg ik de uitgebreide variant prima geregext:
[ code verwijderd ]
1 2 3 4 5 | { echo $value="<a href='pizza.php?id=" . $pizzaID . "'>$value</a>"; } |
1 2 3 4 5 6 7 8 9 10 11 | echo "<a href='pizza.php?id=" . $pizzaID . "'>"; foreach ($ingredienten as $key => $value) { echo $value; } echo "</a>"; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | //bij dit voorbeeld ga ik er vanuit dat je een array hebt die //oplopende getallen heeft als keys $ingredientenlink = ''; $aantal_ingredienten = count($ingredienten); for($i = 0; $i< $aantal_ingredienten; $i++) { //het stukje na de . kijkt of het het laatste ingredient uit de array is $ingredientenlink .= $ingredienten[$i] . ($i == $aantal_ingredienten ? '' : ', '); } echo '<a href="pizza.php?id=' . $pizzaID . '">' . $ingredientenlink . '</a>'; //bij dit voorbeeld maakt het niet uit wat de keys van je array zijn $ingredientenlink = ''; $aantal_ingredienten = count($ingredienten); $i = 1; foreach($ingredienten as $ingredient) { $ingredientenlink .= $ingredient . ($i == $aantal_ingredienten ? '' : ', '); $i++; } echo '<a href="pizza.php?id=' . $pizzaID . '">' . $ingredientenlink . '</a>'; ?> |
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
[ Bericht 56% gewijzigd door fokME2 op 08-02-2008 15:51:49 ]
Als de PREG_SET_ORDER flag aan staat kan dat met "count($matches)", waarbij $matches de array met gevonden resultaten is.quote:Op vrijdag 8 februari 2008 16:03 schreef qu63 het volgende:
hoe kan ik weten hoeveel matches ik heb met Geqxon's preg_match_all?
ereg_replace("[^A-Za-z0-9]", "", $string);quote:Op vrijdag 8 februari 2008 16:06 schreef Chandler het volgende:
Kleine vraag; hoe kan ik alle karakters uit een stuk test die niet a-Z0-9_- zijn verwijderen?
Ik zie het al. Dat komt zo te zien door de \r\n op het einde. Probeer het eens met deze weggehaald?quote:Op vrijdag 8 februari 2008 16:55 schreef qu63 het volgende:
op de een of andere naier skipped die preg_match_all de laatste .VOB in de lijst
dan pakt ie wel alle bestanden ja, alleen nu werken alleen de hashcodes nog, filename blijft leegquote:Op vrijdag 8 februari 2008 17:01 schreef Geqxon het volgende:
[..]
Ik zie het al. Dat komt zo te zien door de \r\n op het einde. Probeer het eens met deze weggehaald?
O leuk, gaan we golfen? :)quote:
1 2 3 | echo "<a href='pizza.php?id=$pizzaID'>".join(',',$ingredienten)."</a>"; ?> |
"join — Alias of implode()".quote:Op vrijdag 8 februari 2008 18:49 schreef SuperRembo het volgende:
[..]
O leuk, gaan we golfen?
[ code verwijderd ]
quote:Op vrijdag 8 februari 2008 18:49 schreef SuperRembo het volgende:
[..]
O leuk, gaan we golfen?
[ code verwijderd ]
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | $url = "http://www.google.nl/search?hl=nl&q=een+zoek+woord&aq=een+ander+zoek+woord&meta="; $parameters = parse_url($url, PHP_URL_QUERY); $parameters = explode("&", $parameters); $parameter_array = array(); foreach ($parameters as $parameter){ list($key, $value) = explode("=", $parameter); $parameter_array[$key] = $value; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | function getmicrotime() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function php_get_browser($agent = NULL) { $agent = $agent ? $agent : $_SERVER['HTTP_USER_AGENT']; $yu = array(); $q_s = array("#\.#","#\*#","#\?#"); $q_r = array("\.",".*",".?"); $brows = parse_ini_file("browscap.ini", true); foreach ($brows as $k => $t) { if (fnmatch($k, $agent)) { $yu['browser_name_pattern'] = $k; $pat = preg_replace($q_s, $q_r, $k); $yu['browser_name_regex'] = strtolower("^" . $pat . "$"); foreach ($brows as $g => $r) { if ($t['Parent'] == $g) { foreach ($brows as $a => $b) { if ($r['Parent'] == $a) { $yu = array_merge($yu, $b, $r, $t); foreach($yu as $d => $z) { $l = strtolower($d); $hu[$l] = $z; } } } } } break; } } return $hu; } $start = getMicroTime(); if (!function_exists('fnmatch')) { function fnmatch($pattern, $string) { return @preg_match('/^' . strtr(addcslashes($pattern, '/\\.+^$(){}=!<>|'), array('*' => '.*', '?' => '.?')) . '$/i', $string); } } echo '<pre>'; $brouwser = php_get_browser(); $brouwser['browser'] = str_replace("IE", "Internet Explorer", $brouwser['browser']); print_r($brouwser); echo round(getMicroTime() - $start, 2); ?> |
Wat is er zo vreselijk interessant aan welke browser/os een bezoeker precies gebruikt, waarom zou je daar zo veel webserverpower aan verspillen?quote:Op zondag 10 februari 2008 17:34 schreef Chandler het volgende:
Aangezien parsen van vele sites nogal intensief is vraag ik mij af of dit (zie code) te behappen is als je bv 1000 gebruikers p/minuut op je site krijgt.
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 | { [..] foreach ($brows as $g => $r) { [..] foreach ($brows as $a => $b) { [..] $yu = array_merge($yu, $b, $r, $t); foreach($yu as $d => $z) |
Ja ja Brouwserquote:Op zondag 10 februari 2008 19:59 schreef SuperRembo het volgende:
[..]
Wat is er zo vreselijk interessant aan welke browser/os een bezoeker precies gebruikt, waarom zou je daar zo veel webserverpower aan verspillen?
$brouwser![]()
Dan zal je nog het een en ander moeten optimaliseren, want nu haal je nog geen 15 pagina's per seconde.quote:Op zondag 10 februari 2008 20:16 schreef Chandler het volgende:
[..]
Ja ja Brouwser![]()
Maaruh gewoon, ik wil deze statistieken bewaren
1 2 3 4 5 6 | foreach ($brows as $g => $r) { if ($t['Parent'] == $g) { ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |