Het zijn twee verschillende functies; fgets() leest per regel (tot de \n dus) en fread() leest een willekeurig aantal bytes in. Aangezien fgets() alles wat ie leest moet verwerken en fread() simpelweg een countertje ophoogt, is die laatste functie theoretisch het snelstquote:Op maandag 2 juli 2007 18:24 schreef Chandler het volgende:
Ik wilde graag weten wat is sneller.
fgets
fread
Heb zelf getest maar kon niet vinden welke nu echt sneller was
Klopt, maar zie graag de meest snelle methode om bv een 10KB bestand uit te lezen.. met een hoop enters..quote:Op maandag 2 juli 2007 19:04 schreef JeRa het volgende:
[..]
Het zijn twee verschillende functies; fgets() leest per regel (tot de \n dus) en fread() leest een willekeurig aantal bytes in. Aangezien fgets() alles wat ie leest moet verwerken en fread() simpelweg een countertje ophoogt, is die laatste functie theoretisch het snelst
Maar in de praktijk gebruik je ze dus voor verschillende doeleinden
quote:Op maandag 2 juli 2007 19:25 schreef Chandler het volgende:
[..]
Klopt, maar zie graag de meest snelle methode om bv een 10KB bestand uit te lezen.. met een hoop enters.. :D
1 2 3 | $data = file_get_contents('bestand.dat'); ?> |
Shame on youquote:Op maandag 2 juli 2007 19:30 schreef Chandler het volgende:
Ik draai nog PHP 4.2.1
PHP 4 >= 4.3.0, PHP 5
Geen idee ff benchmark bouwenquote:Op dinsdag 3 juli 2007 07:46 schreef Chandler het volgende:
maar zijn deze functies sneller dan fgets?
Het resultaat:quote:
De code die ik gebruikt heb:quote:wyrihaximus@localhost:~> php benchmark.php
Did 1000000 file_get_contents_fake() in 30.380990028381 seconds
Did 1000000 file_get_contents_fake2() in 34.327764987946 seconds
wyrihaximus@localhost:~> php benchmark.php
Did 1000000 file_get_contents_fake() in 30.18455696106 seconds
Did 1000000 file_get_contents_fake2() in 33.193086862564 seconds
wyrihaximus@localhost:~> php benchmark.php
Did 1000000 file_get_contents_fake() in 29.584892988205 seconds
Did 1000000 file_get_contents_fake2() in 36.115298986435 seconds
wyrihaximus@localhost:~> php benchmark.php
Did 1000000 file_get_contents_fake() in 29.321064949036 seconds
Did 1000000 file_get_contents_fake2() in 32.658441066742 seconds
wyrihaximus@localhost:~> php benchmark.php
Did 1000000 file_get_contents_fake() in 28.93373298645 seconds
Did 1000000 file_get_contents_fake2() in 34.299740076065 seconds
wyrihaximus@localhost:~>
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 | function file_get_contents_fake($file) { return implode('',file($file)); } $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<1000000;$i++) { file_get_contents_fake('/home/wyrihaximus/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake() in $time secondsn"; function file_get_contents_fake2($file) { $data = ''; $fp = fopen($file, 'r'); while (!feof($fp)) { $data .= fread($fp, 16384); } fclose($fp); return $data; } $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<1000000;$i++) { file_get_contents_fake2('/home/wyrihaximus/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake2() in $time secondsn"; ?> |
En het geheugengebruik?quote:Op dinsdag 3 juli 2007 08:12 schreef WyriHaximus het volgende:
[..]
Het resultaat:
[..]
De code die ik gebruikt heb:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 | { $data = ''; $fp = fopen($file, 'r'); while (!feof($fp)) { $data .= fread($fp, 16384); } fclose($fp); return $data; } |
Hmm dat is toch tricky best om het echt netjes te doenquote:
Code:quote:76664 bytes
Did 1000000 file_get_contents_fake() in 26.938782930374 seconds: 79156 bytes
Did 1000000 file_get_contents_fake2() in 33.518908977509 seconds: 79688 bytes
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 | function file_get_contents_fake($file) { return implode('',file($file)); } function file_get_contents_fake2($file) { $data = ''; $fp = fopen($file, 'r'); while (!feof($fp)) { $data .= fread($fp, filesize($file)); } fclose($fp); return $data; } echo(memory_get_usage() . " bytesn"); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<1000000;$i++) { file_get_contents_fake('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake() in $time seconds: " . memory_get_usage() . " bytesn"; $mmem = memory_get_usage(); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<1000000;$i++) { file_get_contents_fake2('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake2() in $time seconds: " . memory_get_usage() . " bytesn"; ?> |
Ja moet wel: http://nl2.php.net/fread nu ff met filesize neer gezetquote:Op dinsdag 3 juli 2007 09:50 schreef Chandler het volgende:
en als je nu eens van
[ code verwijderd ]
de 16384 weghaalt, hier hoef je toch geen 'grootte' aan te koppelen? en anders eens gewoon op 1024 zet (meeste scripts bevatten toch niet langere regels dan 1024 chars)
1 2 3 4 5 6 7 8 9 10 11 12 13 | function file_get_contents_fake2($file) { $data = ''; $fp = fopen($file, 'r'); while (!feof($fp)) { $data .= fread($fp, filesize($file)); } fclose($fp); return $data; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function file_get_contents_fake2($file) { $data = ''; // $xSize = filesize($file); $fp = fopen($file, 'r'); while (!feof($fp)) { $data .= fread($fp, 1024); } fclose($fp); return $data; } ?> |
quote:Op dinsdag 3 juli 2007 10:00 schreef Chandler het volgende:
Tip:
[ code verwijderd ]
veranderen in
[ code verwijderd ]
want waarom lees je steeds stukken uit die net zo groot zijn als 'het bestand zelf'?(ik doel nu even op tekst gebasseerde bestanden!
Scheelt wel iddquote:76476 bytes
Did 1000000 file_get_contents_fake() in 26.639196157455 seconds: 78992 bytes
Did 1000000 file_get_contents_fake2() in 29.833640098572 seconds: 79524 bytes
Deze keer ook file_get_contents() gedaan om goed te kunnen vergelijkenquote:80772 bytes
Did 100000 file_get_contents_fake() in 45.338598966599 seconds: 123716932 bytes
Did 100000 file_get_contents_fake2() in 23.763649940491 seconds: 938117048 bytes
Did 100000 file_get_contents() in 14.183950901031 seconds: 938117152 bytes
Doe eens een gokquote:Op dinsdag 3 juli 2007 10:50 schreef Chandler het volgende:
@WyriHaximus; wat zijn speties?
Helaas kan ik geen file_get_contents gebruikenmaaruh heb je de nieuwe source ook? even checken op mijn systeem... (heb mijn lappie mee naar m'n werk
)
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 | function file_get_contents_fake($file) { return implode('',file($file)); } function file_get_contents_fake2($file) { $data = ''; $fp = fopen($file, 'r'); while (!feof($fp)) { $data .= fread($fp, 1024); } fclose($fp); return $data; } echo(memory_get_usage() . " bytesn"); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<100000;$i++) { file_get_contents_fake('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake() in $time seconds: " . memory_get_usage() . " bytesn"; $mmem = memory_get_usage(); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<100000;$i++) { file_get_contents_fake2('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake2() in $time seconds: " . memory_get_usage() . " bytesn"; $mmem = memory_get_usage(); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<100000;$i++) { file_get_contents('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents() in $time seconds: " . memory_get_usage() . " bytesn"; ?> |
Die laatste was al met datquote:Op dinsdag 3 juli 2007 10:57 schreef doka het volgende:
Scheelt nogal wat qua geheugen.
Zou je die laatste nog een keer kunnen doen? Maar dan met
$data .= fread($fp, 1024); in file_get_contents_fake2
Maar wat zijn speties nou????quote:Op dinsdag 3 juli 2007 11:00 schreef WyriHaximus het volgende:
Die laatste was al met dat. Zal ff fake3 ook maken
.
Spatiesquote:Op dinsdag 3 juli 2007 11:04 schreef Chandler het volgende:
[..]
Maar wat zijn speties nou????en ik wacht even je update af, kun je ook de pagina die jij gebruikt even linken? zodat ik dezelfde 'test' scripting heb?
Code:quote:87512 bytes
Did 100000 file_get_contents_fake() in 45.875488042831 seconds: 108920596 bytes
Did 100000 file_get_contents_fake2() in 22.202512979507 seconds: 923320712 bytes
Did 100000 file_get_contents_fake3() in 13.83746099472 seconds: 358186172 bytes
Did 100000 file_get_contents() in 13.45986199379 seconds: 358186220 bytes
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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | function file_get_contents_fake($file) { return implode('',file($file)); } function file_get_contents_fake2($file) { $data = ''; $fp = fopen($file, 'r'); while (!feof($fp)) { $data .= fread($fp, 1024); } fclose($fp); return $data; } function file_get_contents_fake3($file) { $data = ''; $fp = fopen($file, 'r'); while (!feof($fp)) { $data .= fread($fp, filesize($file)); } fclose($fp); return $data; } echo(memory_get_usage() . " bytesn"); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<100000;$i++) { file_get_contents_fake('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake() in $time seconds: " . memory_get_usage() . " bytesn"; $mmem = memory_get_usage(); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<100000;$i++) { file_get_contents_fake2('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake2() in $time seconds: " . memory_get_usage() . " bytesn"; $mmem = memory_get_usage(); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<100000;$i++) { file_get_contents_fake3('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents_fake3() in $time seconds: " . memory_get_usage() . " bytesn"; $mmem = memory_get_usage(); $mtime = explode(' ',microtime()); $time_start = $mtime[0] + $mtime[1]; for($i=0;$i<100000;$i++) { file_get_contents('/home/HAARLEM/cjk/little.tmp'); } $mtime = explode(' ',microtime()); $time_end = $mtime[0] + $mtime[1]; $time = $time_end - $time_start; echo "Did " . $i . " file_get_contents() in $time seconds: " . memory_get_usage() . " bytesn"; ?> |
quote:
Er zijn alternatievenquote:Op dinsdag 3 juli 2007 11:54 schreef Chandler het volgende:
argh! ik heb ook geen memory_get_usage();
http://195.241.92.20/PMAquote:Kan de mysql-extensie niet laden. Controleer de PHP configuratie. - Documentatie
ik denk dat je dan eerst de strings moet exploden door spaties. Dan voer je de arrays die je over houdt in in een db. Vervolgens neem je uit die database een LIMIT 15 met count(woord) als ASC.quote:Op dinsdag 3 juli 2007 12:53 schreef Chandler het volgende:
Leuke vraag voor onze MySQLers.
Is het mogeljik om bv uit alle titels de woorden te filteren en daarvan een lijst te maken voor een TAG cloud?
Oftewel een paar titels
wat vind je van mijn plaatje
hoe werkt mijn profiel
wat vind je van mijn site
en dan van alle woorden een cloud tag maken? is dat mogelijk?
Tagclouds koppelen termen aan documenten, dat kán wel zonder database, maar dan ben je ontzettend omslachtig bezigquote:Op dinsdag 3 juli 2007 13:14 schreef Chandler het volgende:
PiRaNiA; ik had eingelijk gehoopt dat dit kon zonder extra database ed...
Travelmate 2420 trouwens?quote:Op dinsdag 3 juli 2007 12:19 schreef Chandler het volgende:
@WyriHaximus; die had ik al
Maar mijn uitkomsten (Acer laptop; 1GB / 1600Mhz ofzo)
Fake() 169.1931 secs (8.85MB)
Fake2() 92.5197 secs (8.84MB)
Fake3() 57.3769 secs (8.88MB)kon helaas de laatste niet testen ivm outdated PHP versie
quote:Op dinsdag 3 juli 2007 13:34 schreef JeRa het volgende:
[..]
Tagclouds koppelen termen aan documenten, dat kán wel zonder database, maar dan ben je ontzettend omslachtig bezig
Ben met ongeveer het zelfde bezig heb alleen het probleem dat ik niet weet hoe ik het zo netjes als deze voor elkaar krijgquote:Op dinsdag 3 juli 2007 14:08 schreef Chandler het volgende:
Vond het even leuk om te kijken wat voor soort cloud tag ik zou krijgen op mijn poll websitebest veel woorden zeg
Hoeveel krijg ik dr voorquote:Op woensdag 4 juli 2007 11:57 schreef Qunix het volgende:
Ik moet een agenda systeem maken. Mijn php kennis is niet erg geweldig maar ook weet ik niet hoe te beginnen aan zo'n systeem. Kan iemand mij helpen om een begin te maken aan een agenda systeem?
De bedoeling is een kalender en zodra op een datum geklikt te hebben informatie wat op de dag moet gebeuren.
Bvd.
Als je een kalender/agenda wilt maken met informatie per dag, zul je die informatie dus relationeel op moeten slaan per datum. Heb je al in gedachten hoe je dit wilde doen (database bijvoorbeeld)?quote:Op woensdag 4 juli 2007 12:18 schreef Qunix het volgende:
[..]
Ik vraag of iemand mij kan helpen met een begin.....
Waar kan ik bestaande oplossingen vinden? Overal waar ik kijk zie ik iets wat ik moet kopen...quote:Op woensdag 4 juli 2007 12:35 schreef JeRa het volgende:
[..]
Als je een kalender/agenda wilt maken met informatie per dag, zul je die informatie dus relationeel op moeten slaan per datum. Heb je al in gedachten hoe je dit wilde doen (database bijvoorbeeld)?
En waarom gebruik je niet een van de bestaande oplossingen?
Dan wordt het een moeilijk verhaal denk ik...quote:Op woensdag 4 juli 2007 13:41 schreef Qunix het volgende:
[..]
Waar kan ik bestaande oplossingen vinden? Overal waar ik kijk zie ik iets wat ik moet kopen...
Ook de database indeling heb ik geen idee.
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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | function water($image,$wlogo,$transpirantie,$uitlijning){ /* Uitlijning opties TL = top links TM = top midden TR = top rechts CL = center links CM = center midden CR = center rechts BL = beneden links BM = beneden midden BR = beneden rechts ABS = top links wat meer naar rechts RND = rondom (overal) einde instelingen */ require "./watermerk.class.php"; // case nr's komen vanuit de functie exif_imagetype deze hangt standaard een nr een een type file switch (exif_imagetype($image)) { case 1: $handle = new RWatermark(FILE_GIF, $image); break; case 2: $handle = new RWatermark(FILE_JPEG, $image); break; case 3: $handle = new RWatermark(FILE_PNG, $image); break; case 6: $handle = new RWatermark(FILE_BMP, $image); break; case 15: $handle = new RWatermark(FILE_WBMP, $image); break; case HANDLE: $handle = new RWatermark(FILE_XPM, $image); break; default: exit("Onbekende extentsie of word niet ondersteund (image)"); return false; } $handle->SetPosition($uitlijning); $handle->SetTransparentColor(255, 0, 255); $handle->SetTransparency($transpirantie); switch (exif_imagetype($wlogo)) { case 1: $handle->AddWatermark(FILE_GIF, $wlogo); break; case 2: $handle->AddWatermark(FILE_JPEG, $wlogo); break; case 3: $handle->AddWatermark(FILE_PNG, $wlogo); break; case 6: $handle->AddWatermark(FILE_BMP, $wlogo); break; case 15: $handle->AddWatermark(FILE_WBMP, $wlogo); break; case HANDLE: $handle->AddWatermark(FILE_XMP, $wlogo); break; default: exit("Onbekende extentsie of word niet ondersteund (Logo)"); return false; } header("Content-type: " . image_type_to_mime_type($image)); $handle->GetMarkedImage(IMG_PNG); $handle->Destroy(); return $foto; } <img src=" echo water("iets.jpg","logo.png","50","RB"); "> ?> |
1 2 3 4 5 6 | return $foto; } <img src=" echo water("iets.jpg","logo.png","50","RB"); "> ?> |
1 2 3 4 5 6 7 | return $foto; } ?> <img src="<?php echo water("iets.jpg","logo.png","50","RB"); ?> "> |
Als ik goed lees wat hij schrijft, dan is dat precies de denkfout die Wouta maakt.quote:Op woensdag 4 juli 2007 15:49 schreef doka het volgende:
3. In de src van een image-tag moet een URL staan, je kunt er dus niet de data van een plaatje in zetten.
Dat klopt dat was mijn fout. Ik heb aan van alles gedacht behalve aan dat het wel eens zou kunnen zijn.quote:Op woensdag 4 juli 2007 16:09 schreef SuperRembo het volgende:
[..]
Als ik goed lees wat hij schrijft, dan is dat precies de denkfout die Wouta maakt.
De data is te groot dan dat PHP toestaatquote:Op woensdag 4 juli 2007 16:46 schreef PiRANiA het volgende:
Ik krijg een eror:
Allowed memory size of 134217728 bytes exhausted
Ik probeer gegevens in een variabele te stoppen. Is er een maximumlengte voor een variabele?
of ligt het ergens anders aan?
Het lijkt me niet dat een variabele met alleen tekst groter is dan 134MB.
Waar ligt dit aan?
Ik draai op een eigen server..
dat is dus hoe veel geheugen een script in mag nemen?quote:Op woensdag 4 juli 2007 16:49 schreef JortK het volgende:
[..]
De data is te groot dan dat PHP toestaat
Check : http://nl2.php.net/manual/nl/ini.core.php#ini.memory-limit
het gaat om 3,6KB scripts. Er wordt daarin wat heen en weer geincluded, maar verder gebeurt er niks spannends...quote:Op woensdag 4 juli 2007 16:50 schreef PiRANiA het volgende:
[..]
dat is dus hoe veel geheugen een script in mag nemen?
hoe kan een script in godsnaam 134MB geheugen in beslag nemen >.<
Wil ik ook wel weten eigenlijkquote:Op woensdag 4 juli 2007 18:33 schreef SuperRembo het volgende:
Wat deed je nou fout?
quote:Op woensdag 4 juli 2007 20:10 schreef JeRa het volgende:
@Chandler
Ik denk dat je met (raw)urlencode() al een heel eind komt.
de gewone werkte, ik las php.net verkeerd... daar stond een stukje m.b.t. dit soort karakters... maar het werkte dus tochquote:Op woensdag 4 juli 2007 20:10 schreef JeRa het volgende:
@Chandler
Ik denk dat je met (raw)urlencode() al een heel eind komt.
quote:
Nee nou dan moet jij eens op milw0rm gaan kijkenquote:Op woensdag 4 juli 2007 20:47 schreef JeRa het volgende:
[..]
Nee, een URL bestaat nóóit uit die HTML entities
strtotime als het een string is en dan weer door date rausen kom je een heel eindquote:Op donderdag 5 juli 2007 12:50 schreef Qunix het volgende:
Hoe kan ik de datum functie van engels vertalen naar het nederlands?
Met een array zeker? (Hoe doe ik dat)
Kan je me een beetje helpen?quote:Op donderdag 5 juli 2007 12:53 schreef WyriHaximus het volgende:
[..]
Nee nou dan moet jij eens op milw0rm gaan kijken.
[..]
strtotime als het een string is en dan weer door date rausen kom je een heel eind![]()
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 | $month = $_POST['month']; $year = $_POST['year']; if(($month == 0) || ($year == 0)) { $thisDate = mktime(0, 0, 0, date("m"), date("d"), date("Y")); } else { $thisDate = mktime(0, 0, 0, $month, 1, $year); } echo '<div style="margin-bottom: 3px;"> <form name="changeCalendarDate"> <select id="ccMonth" onChange="startCalendar($F('ccMonth'), $F('ccYear'))">'; for($i=1; $i<=12; $i++) { $monthMaker = mktime(0, 0, 0, $i, 1, 2006); if($month > 0) { if($month == $i) { $sel = 'selected'; } else { $sel = ''; } } else { if(date("m", $thisDate) == $i) { $sel = 'selected'; } else { $sel = ''; } } echo '<option value="'. $i .'" '. $sel .'>'. date("F", $monthMaker) .'</option>'; } ?> |
Wat wil je precies dan? Want de UNIXTIMESTAMP is gewoon het aantal seccondes van 1 jon 1970 0000 hour t/m nu. Met date kan je gewoon eigen formaat bepalen hoe je de datum wilt laten zien: http://nl3.php.net/datequote:Op donderdag 5 juli 2007 13:12 schreef Qunix het volgende:
[..]
Kan je me een beetje helpen?
$monthMaker = mktime(0, 0, 0, $i, 1, 2006);
Dit heb ik. Hoe breng ik de functie aan? Ik zit in de knoop met een andere scripttaal
Alvast bedanktquote:Op donderdag 5 juli 2007 13:15 schreef WyriHaximus het volgende:
Ow heh dat ziet er in eens heel anders uit, ff kieken.
Kan jij misschien een voorbeeld geven hoe ik in de code de datum (maand) kan vertalen naar Nederlands, wat nu Engels is?quote:Op donderdag 5 juli 2007 13:37 schreef WyriHaximus het volgende:
[..]
Wat moet het nou eingelijk doen?![]()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $m[1] = "januari"; $m[2] = "februari"; $m[3] = "maart"; $m[4] = "april"; $m[5] = "mei"; $m[6] = "juni"; $m[7] = "juli"; $m[8] = "augustus"; $m[9] = "september"; $m[10] = "oktober"; $m[11] = "november"; $m[12] = "december"; ?> |
Ah zo manquote:Op donderdag 5 juli 2007 13:51 schreef Qunix het volgende:
[..]
Kan jij misschien een voorbeeld geven hoe ik in de code de datum (maand) kan vertalen naar Nederlands, wat nu Engels is?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function FormatDate($datein, $time = true) { $weekdays = array("zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"); $dayofweek = $weekdays[date("w", $datein)]; $months = array("", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"); $month = $months[date("n", $datein)]; $returnstring = $dayofweek." ".date("d", $datein)." ".$month." ".date("Y", $datein); if ($time) $returnstring .= ", om ".date("H:i", $datein); return $returnstring; } ?> |
Dankquote:Op donderdag 5 juli 2007 14:11 schreef Igen het volgende:
Uit het stukje code begrijp ik dat je de maand als nummertje ($i) hebt? In dat geval:
[ code verwijderd ]
Copy, paste, $m[$i] gebruiken, klaar.
Om het echt netjes te doen zul je waarschijnlijk een omgevingsvariabele LC_ALL=nl_NL moeten instellen, maar hoe dat bij een webserver werkt?
Die neem ik mee voor volgend project. Thanks.quote:Op donderdag 5 juli 2007 14:14 schreef CodeCaster het volgende:
[ code verwijderd ]
Die gebruik ikDateIn is een time().
Serieus? Shit. Want dat ligt dus niet aan mijn site, volgens mij. Is dat ergens mee te controleren, hoeveel verbindingen jouw bezoekers maken (misschien zit er ergens een lek in mijn code of zo... want het aantal bezoekers is door de slechte performance dus wel teruggelopen en eerst had ik er geen last van).quote:Op vrijdag 6 juli 2007 01:54 schreef CodeCaster het volgende:
Te drukke server.
Heb je ook een voorbeeld?quote:Op vrijdag 6 juli 2007 02:26 schreef WyriHaximus het volgende:
Je kunt een simpele eigen error handles maken en dan alle php errors naar jezelf mailen. Zo kan je ook bij hun aangeven wanneer en hoevaak het voorkomt.
Ja zal ik zo ff snel makenquote:
Zo ff snel wat van php.net afgetrokken en samen gevoegdquote:Op vrijdag 6 juli 2007 11:01 schreef WyriHaximus het volgende:
[..]
Ja zal ik zo ff snel maken. Eerste keer dat ik dat deed waren het er 16000 in 5 min dus pas er wel mee op
.
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 | function send_error($msg) { @mail('TO','ERROR HELP IK GA DOOD!!!!!111oneoneone',$msg,"From: FROMrn"); } // error handler function function myErrorHandler($errno, $errstr, $errfile, $errline) { switch ($errno) { case E_USER_ERROR: $echo = "<b>My ERROR</b> [$errno] $errstr<br />n"; $echo .= " Fatal error on line $errline in file $errfile"; $echo .= ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />n"; $echo .= "Aborting...<br />n"; send_error(date("F j, Y, g:i a",time()) . $echo . var_export(debug_backtrace(),true) . var_export($_POST,true) . var_export($_GET,true) . var_export($_SERVER,true)); exit(1); break; case E_USER_WARNING: $echo = "<b>My WARNING</b> [$errno] $errstr<br />n"; break; case E_USER_NOTICE: $echo = "<b>My NOTICE</b> [$errno] $errstr<br />n"; break; default: $echo = "Unknown error type: [$errno] $errstr<br />n"; break; } send_error(date("F j, Y, g:i a",time()) . $echo . debug_backtrace() . var_export($_POST,true) . var_export($_GET,true) . var_export($_SERVER,true)); /* Don't execute PHP internal error handler */ return true; } // set to the user defined error handler $old_error_handler = set_error_handler("myErrorHandler"); ?> |
1 2 3 4 | if ($naam == ""){ $error = "Het veld "naam" is niet ingevuld"; openurl("gastenboek_submit.php"); } ?> |
klopt redelijk met de locatie van mijn gsm. En mijn ip veranderd idd per sessie, maar blijft een ip-adres van kpn/planet volgens Ripe.netquote:Op vrijdag 6 juli 2007 18:23 schreef Xcalibur het volgende:
werkt dat niet met een geolocation en het IP van je provider oid? Of klopt het echt met de locatie van je GSM?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |