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?
geef jij zomaar broncode vrij?quote:Op zaterdag 7 juli 2007 19:20 schreef WyriHaximus het volgende:
Heb je contact opgenomen met 9292ov.nl? Die kunnen je vast meer vertellen.
Soms wel, soms niet. Maar hier wil je de methode weten en niet de codequote:Op zaterdag 7 juli 2007 19:30 schreef qu63 het volgende:
[..]
geef jij zomaar broncode vrij?
Maar ik kan ze idd wel ff mailen ja..
Denk persoonlijk dat dat een betaalde service is die providers aanbieden en niet zomaar gratis. Anders zou het wel erg makkelijk worden om er achter te komen waar een willekeurig mobieltje is....quote:Op zaterdag 7 juli 2007 20:07 schreef qu63 het volgende:
hmz, volgens 9292ov.nl gaat het via Location Based Services.. Nu nog een LBS script vinden
de methode is LBS, de code wil ik ook weten!quote:Op zaterdag 7 juli 2007 20:19 schreef WyriHaximus het volgende:
[..]
Soms wel, soms niet. Maar hier wil je de methode weten en niet de code.
Vergeet niet dat nooit geschoten altijd mis is.
het is ook als freeware te vinden voor mijn gsm -> http://www.afischer-online.de/sos/celltrack/index.htmlquote:Denk persoonlijk dat dat een betaalde service is die providers aanbieden en niet zomaar gratis. Anders zou het wel erg makkelijk worden om er achter te komen waar een willekeurig mobieltje is....
De helft hier zou dat ook graag willen wetenquote:Op zaterdag 7 juli 2007 20:23 schreef qu63 het volgende:
[..]
de methode is LBS, de code wil ik ook weten!
En dat is alleen voor je eigen telefoon, niet voor 1 die op je website komtquote:Op zaterdag 7 juli 2007 20:23 schreef qu63 het volgende:
[..]
het is ook als freeware te vinden voor mijn gsm -> http://www.afischer-online.de/sos/celltrack/index.html
alleen daarmee krijg ik het dus nog niet op mijn website..
ohjaquote:Op zaterdag 7 juli 2007 21:17 schreef WyriHaximus het volgende:
En dat is alleen voor je eigen telefoon, niet voor 1 die op je website komt. Behoorlijk groot verschil namelijk
.
Wel tof progje trouwensquote:Op zaterdag 7 juli 2007 21:35 schreef qu63 het volgende:
[..]
ohja
dan toch maar een net mailtje naar 9292ov.nl sturen
mail verstuurd, antwoord zal wel tot volgende week vrijdag wachtenquote:Op zaterdag 7 juli 2007 22:19 schreef WyriHaximus het volgende:
[..]
Wel tof progje trouwens.
Laat ff weten wat ze terug mailen, wil het ook wel weten namelijk.
Goed tijd zat om wat andere dingen af te ronden dusquote:Op zaterdag 7 juli 2007 23:06 schreef qu63 het volgende:
[..]
mail verstuurd, antwoord zal wel tot volgende week vrijdag wachten
1 |
SQL Query,:quote:SQL query faild. Error Messsage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'it.`load`) AS avg_load, AVG(i.`query_time`,it.`query_time`) AS avg_query_time, A' at line 1
quote:SELECT AVG(i.`load`,it.`load`) AS avg_load, AVG(i.`query_time`,it.`query_time`) AS avg_query_time, AVG(i.`php_time`,it.`php_time`) AS avg_php_time, MAX(i.`load`,it.`load`) AS max_load, MAX(i.`query_time`,it.`query_time`) AS max_query_time, MAX(i.`php_time`,it.`php_time`) AS max_php_time FROM access_log_index i, access_log_index_tmp it WHERE (i.`time` > 1183803588 AND i.`time` < 1183807188) AMD (it.`time` > 1183803588 AND it.`time` < 1183807188)
moet het dan niet SELECT AVG('i.load', 'it.load') enzo zijnquote:Op zondag 8 juli 2007 12:44 schreef WyriHaximus het volgende:
Goed mijn idee pikt hij dus niet.
[..]
SQL Query,:
[..]
quote:Op zondag 8 juli 2007 12:58 schreef qu63 het volgende:
[..]
moet het dan niet SELECT AVG('i.load', 'it.load') enzo zijn
SQL Query:quote:SQL query faild. Error Messsage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`it.load`) AS avg_load, AVG(`i.query_time`,`it.query_time`) AS avg_query_time, A' at line 1
Gebruik ` eingelijk alleen als ik met een veld naar werk wat mysql niet leuk vind als ik hem zonder ` er om heen schrijfquote:SELECT AVG(`i.load`,`it.load`) AS avg_load, AVG(`i.query_time`,`it.query_time`) AS avg_query_time, AVG(`i.php_time`,`it.php_time`) AS avg_php_time, MAX(`i.load`,`it.load`) AS max_load, MAX(`i.query_time`,`it.query_time`) AS max_query_time, MAX(`i.php_time`,`it.php_time`) AS max_php_time FROM access_log_index i, access_log_index_tmp it WHERE (`i.time` > 1183804909 AND `i.time` < 1183808509) AMD (`it.time` > 1183804909 AND `it.time` < 1183808509)
Misschien is het eens handig om uit te zoeken waar ze nou echt voor dienen en hoe je ze gebruiktquote:[b]Op zondag 8 juli 2007 13:06 schreef
Gebruik ` eingelijk alleen als ik met een veld naar werk wat mysql niet leuk vind als ik hem zonder ` er om heen schrijf.
Om reserved words toch als colomnamen te kunnen gebruikenquote:Op zondag 8 juli 2007 20:08 schreef SuperRembo het volgende:
[..]
Misschien is het eens handig om uit te zoeken waar ze nou echt voor dienen en hoe je ze gebruikt
Precies dat dusquote:Op zondag 8 juli 2007 20:08 schreef SuperRembo het volgende:
1. Wat wil je met "AVG(`i.load`,`it.load`)" bereiken?
Het gemiddelde van i.load en it.load? Dat kan niet. AVG accepteert maar 1 parameter, namelijk een kolomnaam. AVG berekent het gemiddelde van de opgegeven kolom over alle regels waarop gegroepeerd wordt.
Jij gebruikt geen GROUP BY, dus deze query zal 0 of 1 regel opleveren.
Was oorspronkelijk maar 1 tabel en heb de ` die eerst alleen om de colom namen stonden. Daarna na de comment van een user er helemaal omheen gezetquote:Op zondag 8 juli 2007 20:08 schreef SuperRembo het volgende:
2. Als je backticks gebruikt, gebruik ze dan goed. Dus niet `tabelnaam.kolomnaam`, maar `tabelnaam`.`kolomnaam`.
De 2 zijn kwa structuur exact het zelfde, alleen bevat _tmp de meest recente reccords die zijn toegevoegd. Om de zoveel tijd worden de reccords overgezet naar de andere tabel en word _tmp leeg gemaakt.quote:Op zondag 8 juli 2007 20:08 schreef SuperRembo het volgende:
3. Wat is de relatie tussen access_log_index en access_log_index_tmp? Hebben die geen id waar je op kan joinen?
Ow nog niet eens opgevallen, zat nog bij de error er voorquote:
quote:Op zondag 8 juli 2007 20:08 schreef SuperRembo het volgende:
5. Zet hier en daar een regeleinde in je query, dat leest makkelijker en daardoor maak je minder snel fouten.
In dat geval is het waarschijnlijk het snelst om 2 losse query's te doen en daar dan in php het gewogen gemiddelde van te nemen.quote:Op zondag 8 juli 2007 22:08 schreef WyriHaximus het volgende:
De 2 zijn kwa structuur exact het zelfde, alleen bevat _tmp de meest recente reccords die zijn toegevoegd. Om de zoveel tijd worden de reccords overgezet naar de andere tabel en word _tmp leeg gemaakt.
Ja daar zat ik ook al aan te denkenquote:Op zondag 8 juli 2007 22:16 schreef SuperRembo het volgende:
[..]
In dat geval is het waarschijnlijk het snelst om 2 losse query's te doen en daar dan in php het gewogen gemiddelde van te nemen.
Yup was een maar een ideequote:Op zondag 8 juli 2007 22:24 schreef SuperRembo het volgende:
Dat lijkt me een verre van optimale oplossing.
1 2 3 4 5 6 | FROM (SELECT * FROM access_log_index UNION SELECT * FROM access_log_index_tmp) WHERE `time` > 0 AND `time` < 111111111111 |
1 2 3 4 5 | FROM (SELECT * FROM access_log_index WHERE `time` > 0 AND `time` < 111111111111 UNION SELECT * FROM access_log_index_tmp WHERE `time` > 0 AND `time` < 111111111111) |
Heb je wel indexen enzoquote:Op maandag 9 juli 2007 12:10 schreef WyriHaximus het volgende:
Ah dat is wel erg tof! Thanks
. Alleen minder dat de SQL server zo goed als op ze bek ging
...
Die worden toch bij iedere insert opnieuw aangemaakt? Of zit ik er naast?quote:
Laat ik het anders zeggen, heb je ze gedefinieerd ?quote:Op maandag 9 juli 2007 12:22 schreef WyriHaximus het volgende:
[..]
Die worden toch bij iedere insert opnieuw aangemaakt? Of zit ik er naast?![]()
Nog nietquote:Op maandag 9 juli 2007 12:28 schreef JortK het volgende:
[..]
Laat ik het anders zeggen, heb je ze gedefinieerd ?
Ben het ook wel van plan, alleen zit er mee dat het niet 20 sec moet duren. Aangezien het zo lang duurde toen ik er wel een index op plaatstequote:
1 2 3 4 5 6 7 | $max = 433; for ($i = $steps; $i >= 0; $i--) { $k = round($i * $max / $steps); echo "$i: $k<br>"; } |
1 2 3 | $s=10;$g=433;for($i=$s;$i!=0;--$i)echo round($i*($g/$s),0).'<br />'; ?> |
Was daar niet een contest van hier een jaar geleden ofzo? Kijken wie de meest uber oneliner kon maken?quote:Op dinsdag 10 juli 2007 00:40 schreef Thomass het volgende:
Of als je voor de uber short 13370R-oneliner versie gaat (![]()
![]()
)
[ code verwijderd ]
ik had is een bash scriptje geschrven om m'n WLAN NIC's MAC adres aan te passen, en dat was eerst 5 regeltjes fzo, en toen had ik er 3 regels van gemaakt..quote:Op dinsdag 10 juli 2007 01:05 schreef WyriHaximus het volgende:
[..]
Was daar niet een contest van hier een jaar geleden ofzo? Kijken wie de meest uber oneliner kon maken?
Bash is geil en erg compactquote:Op dinsdag 10 juli 2007 01:12 schreef mike4141 het volgende:
[..]
ik had is een bash scriptje geschrven om m'n WLAN NIC's MAC adres aan te passen, en dat was eerst 5 regeltjes fzo, en toen had ik er 3 regels van gemaakt..
en toen zat ik met wat gasten in #bash te lullen, en toen kwam er zo 1 zo hackert
en die herscreef dat zo in minder dan een halve regel, in minder dan een halve minuut![]()
was verder niet meer leesbaar fzo,maar daar ging het niet om.....
Zo kan het:quote:Op dinsdag 10 juli 2007 11:08 schreef portier het volgende:
Ik heb een output uit een berekening die tussen de -100.000 en +100.000 kan liggen. Nu wil ik dat als de output gegeven wordt er een puntje tussen komt, dus niet 100000 maar 100.000. Hoe doe ik dit? Ik heb wel str_split gezien, maar die telt van voren en aangezien wat voor de punt staat kan verschillen werkt dit niet echt, is er ook een functie die van achter telt?
1 2 3 | $result = preg_replace('/(?<=\d)(?=(?:\d\d\d)+$)/', ',', $getal_als_string); ?> |
Is ook een functie voor http://nl2.php.net/number_formatquote:Op dinsdag 10 juli 2007 11:34 schreef doka het volgende:
[..]
Zo kan het:
[ code verwijderd ]
Misschien ook met printf(), maar dat zou je even moeten opzoeken.
Mijn dank is groot.quote:Op dinsdag 10 juli 2007 11:34 schreef doka het volgende:
[..]
Zo kan het:
[ code verwijderd ]
Misschien ook met printf(), maar dat zou je even moeten opzoeken.
1 2 3 | if (!isset($title) || strlen($title) == 0) { ?> |
Yup. PHP gaat niet de hele if af als het het resultaat al weetquote:Op dinsdag 10 juli 2007 11:46 schreef Geqxon het volgende:
[ code verwijderd ]
In dit geval wordt het tweede deel van de statement toch alleen uitgevoerd als $title geset is? Dit om eventueele errors af te vangen
Het is eigenlijk vrij eenvoudig. Als $title niet bestaat, zal !isset true teruggeven, en strlen false. Dus die IF gaat door. Bestaat het wel, maar is het leeg, dan geven beide false, en gaat dus die IF niet door. Beter is gewoon empty te gebruiken, dan hoef je niet twee functies voor zoiets te misbruiken.quote:Op dinsdag 10 juli 2007 11:46 schreef Geqxon het volgende:
[ code verwijderd ]
In dit geval wordt het tweede deel van de statement toch alleen uitgevoerd als $title geset is? Dit om eventueele errors af te vangen
Hoe bedoel je dat?quote:Op dinsdag 10 juli 2007 13:23 schreef WyriHaximus het volgende:
[..]
Yup. PHP gaat niet de hele if af als het het resultaat al weet.
1 2 3 4 5 6 | $i = 1; if(isset($i) && $i = 10) { echo $i; } ?> |
1 2 3 4 5 6 | $i = 10; if(isset($i) || $i = 10) { echo $i; } ?> |
De volledige code:quote:Op dinsdag 10 juli 2007 13:12 schreef Thomass het volgende:
[ code verwijderd ]
Dan vind ik persoonlijk
[ code verwijderd ]
duidelijker, maar dat is misschien smaak
1 2 3 4 5 6 7 8 9 | if ($result_of_preg_match){ $title = match[1]; } if (!isset($title) || strlen($title) == 0){ $title = "This object has no title"; } ?> |
Klopt, en oogt ook netter. Dit werkt bij echter alleen niet, want als de preg_match wel wat vind, maar het een lege string is, dan vind hij hem toch echt niet empty.quote:
Ik was er niet helemaal bijquote:Op dinsdag 10 juli 2007 13:41 schreef Geqxon het volgende:
[..]
Klopt, en oogt ook netter. Dit werkt bij echter alleen niet, want als de preg_match wel wat vind, maar het een lege string is, dan vind hij hem toch echt niet empty.
ok antwoord gehad. Ze willen niks kwijt, behalve dat het gemaakt is icm een extern bedrijfquote:Op zaterdag 7 juli 2007 23:19 schreef WyriHaximus het volgende:
[..]
Goed tijd zat om wat andere dingen af te ronden dus! Pff nog ff me user sync script uitbreiden ben iets vergeten er in
.
Verrassendquote:Op dinsdag 10 juli 2007 21:55 schreef qu63 het volgende:
[..]
ok antwoord gehad. Ze willen niks kwijt, behalve dat het gemaakt is icm een extern bedrijf
Dat is makkelijker gezegd dan gedaan. Als je alleen rekening houd met een enkele backslash op een rij is het geen probleem. "a/bc/de" wordt dan "x/bx/de" (als je 'x' even als vervanger gebruikt). Maar je wil natuurlijk dat "//a///b/////c////e" "//x///b/////c////x" wordt, omdat "//a" een escaped '/' is gevolgd door een 'a' en niet een '/' gevolgd door een escaped 'a'.quote:Op dinsdag 10 juli 2007 14:38 schreef wipes66 het volgende:
Ik ben op zoek naar een functie die het zelfde doet als str_replace, maar dan dat a niet vervangen wordt wanneer je str_replace('a') gebruikt. In andere woorden; hij moet escaped characters negeren.
Ik heb al zelf het een en ander geprobeerd met regular expressions, maar ik ben er echt slecht in![]()
replaceNonEscaped($needle,$str,$haystack) {
return ereg_replace("([^\][".$needle."])", $str, $haystack);
}
1 |
1 |
1 |
30 sec connection time outquote:Op woensdag 11 juli 2007 09:50 schreef webbyplus het volgende:
Vraagje,
Ik gebruik zo af en toe de functie Mail().
Echter als ik lokaal aan het werken ben (vanaf mijn USB-stick), krijg ik een timeout van ongeveer 30 seconden.
Is er een functie die controleert of Mail() werkt? Of moet ik dit afvangen door bijvoorbeeld de host te controleren?
bvd
WebbyP
Kijk hier eens: http://linux.die.net/man/1/mysqlquote:Op woensdag 11 juli 2007 10:35 schreef Chandler het volgende:
Klein vraagje over mysql commandline.
Is het mogelijk een database te inporteren waarbij de fouten onderdrukt worden? zodat de regels waar een fout in zit, geskipt worden en gewoon verder gegaan wordt bij de volgende wel goede insert?
Ik heb namelijk een 60MB sql file die ik niet in stukken kan krijgen
quote:--force, -f
Continue even if an SQL error occurs.
quote:--skip-line-numbers, -L
Do not write line numbers for errors. Useful when you want to compare result files that include error messages.
De bovenste zal je het meest handig vindenquote:--line-numbers
Write line numbers for errors. Disable this with --skip-line-numbers.
Nee niet met $_GET vars wel met argumenten. Wist het zelf niet uit me hoofd dus ff snel opgezocht (altijd handig om te wetenquote:Op woensdag 11 juli 2007 11:59 schreef Chandler het volgende:
@WyriHaximus; tnx, was ik net nodig... Is het trouwens ook mogelijk om via de command line een PHP script te draaien die $_GET ed ook kan afvangen?
Ik heb hier namelijk ook op gezocht maar niets gevondenwant m'n script zorgt voor een blank pagina in IE terwijl hij veel langer zou meoten doorlopen
Wat wil je bold hebben dan? Daarnaast als je A-Z in een array zet en dan gaat kijken wanneer het voorkomt is het gewoon logish dat alles bold wordquote:Op woensdag 11 juli 2007 11:52 schreef USAF het volgende:
Ik kom even niet uit de volgende issue,
Ik heb een range van A,Z in een array zitten, haal het eruit in een for loopje en wil wanneer de letter voorkomt in de url (als in: &l=A bijv.) dat deze letter bold wordt, echter worden bij mijn pogingen tot op het heden álle letters bold...
Iemand die me hiermee kan helpen?
Hey bedankt! was net naar zoiets op zoekquote:Op donderdag 5 juli 2007 14:14 schreef CodeCaster het volgende:
[ code verwijderd ]
Die gebruik ikDateIn is een time().
Zoek eens op een highlight script, zijn er genoeg in omloopquote:Op woensdag 11 juli 2007 11:52 schreef USAF het volgende:
Ik kom even niet uit de volgende issue,
Ik heb een range van A,Z in een array zitten, haal het eruit in een for loopje en wil wanneer de letter voorkomt in de url (als in: &l=A bijv.) dat deze letter bold wordt, echter worden bij mijn pogingen tot op het heden álle letters bold...
Iemand die me hiermee kan helpen?
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Setsquote:Op woensdag 11 juli 2007 16:26 schreef Desdinova het volgende:
ik poep in mn broek..
eigenlijk zit ik al weken met dit probleem, op het moment dat ik iets via AJAX toe voeg in mijn database (laten we bijv. zeggen 'hëëjäô'), dan wordt dit op een bizarre manier in de database gezet (namelijk als 'hëëjäô').
ik kan er gewoon niet achter komen hoe ik dit op een normale simpele manier kan toevoegen in de database, op een manier waarop het ook gewoon normaal weer wordt weergegeven zodra het ingeladen wordt.. want dit lijkt nergens op
htmlentities.quote:Op woensdag 11 juli 2007 16:26 schreef Desdinova het volgende:
ik poep in mn broek..
eigenlijk zit ik al weken met dit probleem, op het moment dat ik iets via AJAX toe voeg in mijn database (laten we bijv. zeggen 'hëëjäô'), dan wordt dit op een bizarre manier in de database gezet (namelijk als 'hëëjäô').
ik kan er gewoon niet achter komen hoe ik dit op een normale simpele manier kan toevoegen in de database, op een manier waarop het ook gewoon normaal weer wordt weergegeven zodra het ingeladen wordt.. want dit lijkt nergens op
nee die nietquote:
Zo moet het anders wel uiteindelijk op je website komen te staanquote:Op woensdag 11 juli 2007 16:32 schreef Desdinova het volgende:
[..]
nee die nietdat zet het resultaat om in htmlentities.. dus & atilde; & tilde; ofzo
nee, ik bedoel dat het ä dan wordt omgezet in htmlentities..quote:Op woensdag 11 juli 2007 16:54 schreef Geqxon het volgende:
[..]
Zo moet het anders wel uiteindelijk op je website komen te staan
Check mod_rewritequote:Op woensdag 11 juli 2007 20:42 schreef wonderer het volgende:
Ik ben eigenlijk wel benieuwd hoe dat gedoe van Fok! werkt, van de URL. Nergens wordt een bestand aangeroepen (in de URI), het lijken vooral directories te zijn. Is daar een bepaalde techniek voor? Bijvoorbeeld /user/logout
Weet iemand hoe dat precies werkt?
Geef a.u.b. op hoe uitgebreid u het antwoord wilt hebben:quote:Op woensdag 11 juli 2007 20:42 schreef wonderer het volgende:
Ik ben eigenlijk wel benieuwd hoe dat gedoe van Fok! werkt, van de URL. Nergens wordt een bestand aangeroepen (in de URI), het lijken vooral directories te zijn. Is daar een bepaalde techniek voor? Bijvoorbeeld /user/logout
Weet iemand hoe dat precies werkt?
C natuurlijkquote:Op woensdag 11 juli 2007 20:47 schreef WyriHaximus het volgende:
[..]
Geef a.u.b. op hoe uitgebreid u het antwoord wilt hebben:
a) simpel
b) uitgebreid
c) zeer uitgebreid en gedetaileerd
Dat verklaart al een hoop jaquote:
Haha je kunt iig ook vragen of ik het ook aan jouw wil uitleggenquote:
Is al goed hoor, ik had even gegoogled. Geloof niet dat mijn host die mod heeft dus dan houdt het opquote:Op woensdag 11 juli 2007 21:11 schreef WyriHaximus het volgende:
[..]
Haha je kunt iig ook vragen of ik het ook aan jouw wil uitleggen.
Anway:
A) mod_rewrite
B) mod_rewrite laat je URL's rewriten
C) met mod_rewrite kun je urls als http://forum.fok.nl/user/history/666 naar http://forum.fok.nl/user.php?mode=history&id=666 rewriten, maar er zijn heel veel mogelijk heden wat je allemaal kan. dat is niet ff in 1 post te behandelen.
* WyriHaximus is wat lui, anders had ik het wel ff wat uitgebrieder gedaan![]()
Altijd ff navragen voor de zekerheid hequote:Op woensdag 11 juli 2007 21:16 schreef wonderer het volgende:
[..]
Is al goed hoor, ik had even gegoogled. Geloof niet dat mijn host die mod heeft dus dan houdt het op
quote:Op woensdag 11 juli 2007 21:16 schreef wonderer het volgende:
[..]
Is al goed hoor, ik had even gegoogled. Geloof niet dat mijn host die mod heeft dus dan houdt het op
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $page = $_GET['page']; $valid = array('siteinfo', 'prijzenkast'); if (in_array($page, $valid) || empty($page)) { switch ($page) { case "siteinfo"; $include = "siteinfo"; break; case "prijzenkast"; $include = "prijzenkast"; break; default; $include = "fontpage"; break; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $sql = "SELECT `module_action` FROM `dfms_modules`"; $result = mysql_query($sql) or die (mysql_error()); $valid = array(); while ($row = mysql_fetch_array($result) or die (mysql_error())) { $valid[] = $row['module_action']; } ?> |
1 2 3 4 5 | $comment = str_replace("<br /><br /><br /><br />", "<br /><br />", preg_replace("/,(?! )/", ", ", -- preg_replace("([rn])", "<br />", $comments))); ?> |
1 2 3 | $comment = nl2br($comment) ?> |
Ach zoiets doet hij 1 keer, wij flikken wat en hij leert er weer wat vanquote:Op woensdag 11 juli 2007 23:03 schreef Thomass het volgende:
Zeg Qpers, ben jij wel wijs?
Logged in as admin - [ Logout ]
Misschien een idee om je admin login niet op het internet te zetten?
En je IP adres zien oehquote:Op woensdag 11 juli 2007 23:12 schreef Qpers het volgende:
Het enige wat jullie met dat wachtwoord kunnen is de berichten verwijderen toch? :p
haal die tweede 'or die' even weg, want die is useless aangezien je al een die hebt op dezelfde error.quote:Op woensdag 11 juli 2007 21:34 schreef MrDoegewoon het volgende:
Ik ben na een jaar niks met PHP gedaan te hebben begonnen om een soort van klein cms te bouwen. Ik wou het mezelf makkelijk maken door van alles soort modules te maken.
Vroeger gebruikte ik dit om de content dynamisch te maken:
[ code verwijderd ]
Nu wil ik de array $valid[] laten vullen via een MySQL db. Dit wil ik zo doen:
[ code verwijderd ]
En ik heb het ook al op wat andere manier geprobeerd, maar niks lukt. Iemand een tip![]()
Ik heb die print_r($vailid) al gedaan, de ene keer is ie leeg en dan alleen weer de laatste of eerste rij uit de database die erin staat.quote:Op woensdag 11 juli 2007 23:40 schreef Desdinova het volgende:
[..]
haal die tweede 'or die' even weg, want die is useless aangezien je al een die hebt op dezelfde error.
daarnaast, doe eens een print_r($valid); om te kijken wat hij bevat aan data. alles ziet er ok uit, kan je aangeven wat hij niet doet?
Zet eens een echo count($sql); erop ... kijken wat daar het resultaat van is.. dan weet je ook meteen hoeveel variabelen er in de array moet komen.quote:Op donderdag 12 juli 2007 09:06 schreef MrDoegewoon het volgende:
[..]
Ik heb die print_r($vailid) al gedaan, de ene keer is ie leeg en dan alleen weer de laatste of eerste rij uit de database die erin staat.
Heb de query al op output nagelopen en die is gewoon goed, maar om een vage reden vult ie de array niet.
quote:Op donderdag 12 juli 2007 10:16 schreef appelsientje het volgende:
[..]
Zet eens een echo count($sql); erop ... kijken wat daar het resultaat van is.. dan weet je ook meteen hoeveel variabelen er in de array moet komen.
1 2 3 4 | $count = mysql_num_rows($result); echo '' . $count . ''; ?> |
En dit noem je lui? ik ken wel ergere postersquote:Op woensdag 11 juli 2007 21:11 schreef WyriHaximus het volgende:
[..]
Haha je kunt iig ook vragen of ik het ook aan jouw wil uitleggen.
Anway:
A) mod_rewrite
B) mod_rewrite laat je URL's rewriten
C) met mod_rewrite kun je urls als http://forum.fok.nl/user/history/666 naar http://forum.fok.nl/user.php?mode=history&id=666 rewriten, maar er zijn heel veel mogelijk heden wat je allemaal kan. dat is niet ff in 1 post te behandelen.
* WyriHaximus is wat lui, anders had ik het wel ff wat uitgebrieder gedaan![]()
Ik heb ooit eens een beginnetje gemaakt. Er zullen nog wel wat bugs in zitten of dingen ontbreken. Bronvermelding zou aardig zijn als je 't gebruikt.quote:Op vrijdag 13 juli 2007 00:08 schreef wonderer het volgende:
Jawel, maar dat is veel te uitgebreid (en ik hoef die wysiwyg er niet bij). Maar misschien moet ik daar toch maar aan ja...
Had gehoopt dat er ergens iets simpels was.
Dat is inderdaad zo'n beetje precies wat ik bedoelde jaquote:Op vrijdag 13 juli 2007 00:20 schreef SuperRembo het volgende:
[..]
Ik heb ooit eens een beginnetje gemaakt. Er zullen nog wel wat bugs in zitten of dingen ontbreken. Bronvermelding zou aardig zijn als je 't gebruikt.
hmm eigenlijk gebruik ik preg_replace..quote:Op vrijdag 13 juli 2007 09:26 schreef ralfie het volgende:
gebruik preg_match_all ipv preg_match
/iUs lijkt het te fixen.quote:Op vrijdag 13 juli 2007 09:20 schreef Desdinova het volgende:
even een snel regex vraagje, ik ben bezig met bulletin board tags te verwerken, alleen voert hij het maar 1x door. nu is er dus een flag (als het goed is) wat ervoor zorgt dat hij alle gevonden dingen vervangt, in plaats van maar 1x.. in javascript zou dat /g moeten zijn, maar PHP lijkt dit niet te herkennen. Ik heb het niet kunnen vinden met google, kan iemand mij verder helpen?
quote:Op donderdag 12 juli 2007 10:16 schreef appelsientje het volgende:
[..]
Zet eens een echo count($sql); erop ... kijken wat daar het resultaat van is.. dan weet je ook meteen hoeveel variabelen er in de array moet komen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $sql = "SELECT `module_action` FROM `dfms_modules`"; $result = mysql_query($sql) or die (mysql_error()); $count = mysql_num_rows($result); echo 'Count: ' . $count . '<br>'; $valid = array(); $valid = mysql_fetch_array($result); print_r($valid); ?> |
Dat was lui en weinig, wou het in eerste instantie veel uitgebreider doenquote:Op donderdag 12 juli 2007 21:42 schreef Chandler het volgende:
[..]
En dit noem je lui? ik ken wel ergere posters
Vind het respectabel dat je dingen zo duidelijk uit kunt leggen, even als Jera, CraZaay en SuperRembo... Jullie alleen hebben aardig wat kennis en kunnen dat veelal ook op een duidelijke manier uitleggen. In mijn geval is dat bijna altijd erg positief... tenminste dat ervaar ik en volgens mij ook een hoop andere mensen.
Als je eens tijd hebt mag je dit soort posts natuurlijk ook altijd op de FOK wiki plaatsen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $dir="storage/"; $a=opendir($dir); while($b=readdir($a)) { if (!ereg('^.',$b)) { $files[] = $b; } } closedir($a); asort ($files); reset ($files); while ($val = array_shift($files)) { echo "<div class="storage"><a href="$dir$val" class="adm">$val</a></div><br />n"; } $files = array(); ?> |
1 2 3 4 5 | $page = $_GET["page"]; if ($page =="onderdezon") { include ("onderdezon.txt"); } ?> |
Misschien met een andere encoding aanduiding? Dus even spelen met <?xml version="1.0" encoding="UTF-8"?> of <?xml version="1.0" encoding="iso-8859-1"?> bovenaan de RSS XML?quote:Op vrijdag 13 juli 2007 22:15 schreef ursel het volgende:
Nu komt het wel eens voor dat ze rare namen verzinnen voor hun server, zo ook in mijn geval. Er is 1 server welke het copyright sign (©) in zijn servernaam heeft staan.
De description wordt al afgevangen met de CDATA veld. Echter de RSS readers lopen toch hierop vast.
Sorry, vergeten te vermelden, ik heb de encodings van deze pagina al geprobeerd.quote:Op vrijdag 13 juli 2007 22:19 schreef Flurry het volgende:
[..]
Misschien met een andere encoding aanduiding? Dus even spelen met <?xml version="1.0" encoding="UTF-8"?> of <?xml version="1.0" encoding="iso-8859-1"?> bovenaan de RSS XML?
quote:Op vrijdag 13 juli 2007 22:34 schreef WyriHaximus het volgende:
Voor de gene die het nog niet gelezen hadden: http://pro.tweakers.net/n(...)-PHP-4-getekend.html
1 2 3 4 5 6 | ((i.AantalParty * f.PrijsParty)) AS Totaalbedrag, b.Bedrag as BetalingBedrag FROM inschrijvingen AS i, feesten AS f LEFT JOIN betalingen AS b ON i.Betaalcode = b.Betaalcode WHERE f.ID = i.FeestID |
Simpele query dus. Per inschrijving de persoonsgegevens, alle betalingen van deze inschrijving en het totaalbedrag van de inschrijving. Gecompliceerd, maar ik hou er van alles in 1 query te stoppenquote:Unknown column 'i.Betaalcode' in 'on clause'
quote:Op zaterdag 14 juli 2007 12:04 schreef Geqxon het volgende:
Ik zit weer vast op een ietwat gecompliceerde query
[ code verwijderd ]
[..]
Simpele query dus. Per inschrijving de persoonsgegevens, alle betalingen van deze inschrijving en het totaalbedrag van de inschrijving. Gecompliceerd, maar ik hou er van alles in 1 query te stoppen
Arg. Is een error als dit uberhaupt mogelijk? i.Betaalcode gebruik ik twee regels terug nog namelijk.
Edit:Mijn progress: Als ik het feestgedeelte (Totaalbedrag) eruit haal, werkt de query prima. Vreemd? Gebruik ik soms een verkeerde syntax?
1 2 3 4 5 6 | ((i.AantalParty * f.PrijsParty)) AS Totaalbedrag, b.Bedrag as BetalingBedrag FROM inschrijvingen i, feesten f LEFT JOIN betalingen AS b ON i.Betaalcode = b.Betaalcode WHERE f.ID = i.FeestID |
Werkt redelijk goed en overzichtelijk als je grote queries gaat maken.quote:Op zaterdag 14 juli 2007 12:16 schreef Xcalibur het volgende:
Vage error... zie zo snel niet wat er mis mee is...
eigenlijk doe je trouwens twee joins of niet, met die WHERE f.ID = i.FeestID?
En vinden jullie het nou echt handig om overal met i. f. etc te werken? Ik vind dit totaal onleesbaar worden namelijk....waarom niet gewoon inschrijving. en feesten. gebruiken?
Inderdaad twee joins, al is de "feesten" joins een join puur om wat informatie te gatheren.quote:Op zaterdag 14 juli 2007 12:16 schreef Xcalibur het volgende:
Vage error... zie zo snel niet wat er mis mee is...
eigenlijk doe je trouwens twee joins of niet, met die WHERE f.ID = i.FeestID?
En vinden jullie het nou echt handig om overal met i. f. etc te werken? Ik vind dit totaal onleesbaar worden namelijk....waarom niet gewoon inschrijving. en feesten. gebruiken?
Helaas hetzelfde resultaat. Ik heb overigens een vrij recente PHP en MySQL versiequote:Op zaterdag 14 juli 2007 12:22 schreef ursel het volgende:
[..]
[ code verwijderd ]
Werkt dat beter als je die AS tussen de tabel naam en zijn afkorting weghaalt?
1 2 3 4 | b.Bedrag as BetalingBedrag FROM inschrijvingen AS i, feesten LEFT JOIN betalingen AS b ON i.Betaalcode = b.Betaalcode |
1 2 3 4 | b.Bedrag as BetalingBedrag FROM inschrijvingen AS i LEFT JOIN betalingen AS b ON i.Betaalcode = b.Betaalcode |
1 2 3 4 5 6 | (i.AantalParty * f.PrijsParty) AS Totaalbedrag, b.Bedrag AS BetalingBedrag FROM inschrijvingen AS i INNER JOIN feesten AS f ON f.ID = i.FeestID LEFT JOIN betalingen AS b ON b.Betaalcode = i.Betaalcode |
Waarom wil / moet je het zelf compileren?quote:Op zaterdag 14 juli 2007 10:16 schreef Chandler het volgende:
[..]vind ik best balen.
Nu moet ik voor Winhooz weer een nieuwe install maken met.
1. De laatste final build van apache
2. De laatste versie van php 5
3. De laatste versie van GD2 (compileren)
4. De laatste versie van MySQL!
OFtwel ik ben een week kwijt
Ach moet me toch gaan richten op de toekomst!!
De rede dat ik dat doe is omdat ik uit de "feesten" tabel enkel statische informatie wil halen, en ik uit de "betalingen" tabel specifieke data voor dit record wil halenquote:Op zaterdag 14 juli 2007 13:44 schreef SuperRembo het volgende:
Vreemd dat je implicite en explicite joins door elkaar gebruikt. Implicite joins maken een query ook niet duidelijker. Ik zou 'm zo schrijven:
[ code verwijderd ]
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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | SET_TIME_LIMIT(0); $GLOBALS['count'] = 0; $GLOBALS['saveString'] = ""; $GLOBALS['saveStringCnt'] = 0; function saveToFile($insert, $maxsize, $end = false) { $GLOBALS['count']++; if ((strlen($GLOBALS['saveString']) + strlen($insert)) > $maxsize OR $end == true) { if (!is_dir("./parts")) { mkdir ("./parts"); } $saveFile = "./parts/" . str_replace(".sql", "", $GLOBALS['src']) . "-" . $GLOBALS['saveStringCnt'] . ".sql"; $nfd = fopen($saveFile, "w+"); fputs($nfd, $GLOBALS['saveString']); fclose($nfd); echo "Saved: " . $saveFile . "<br />"; $GLOBALS['saveString'] = $insert; $GLOBALS['saveStringCnt']++; } else { $GLOBALS['saveString'] = $GLOBALS['saveString'] . $insert; } //echo "<pre>Save string size: " . strlen($GLOBALS['saveString']) . "rn"; //echo "insert ID : " . $GLOBALS['count'] . "</pre>"; flush(); } // connectie met mysql if ($_SERVER['REQUEST_METHOD'] == "POST" OR isSet($_GET['maxsize'])) { if (isSet($_POST['maxsize']) && is_numeric($_POST['maxsize'])) { $maxsize = $_POST['maxsize']; } elseif (isSet($_GET['maxsize']) && is_nummeric($_GET['maxsize'])) { $maxsize = $_GET['maxsize']; } else { $maxsize = 1000000; // 1MB } if (isSet($_POST['source'])) { $src = $_POST['source']; } elseif (isSet($_GET['source'])) { $src = $_GET['source']; } else { die("No source"); } $GLOBALS['src'] = $src; if (file_exists($src)) { $fd = fopen($src, "r"); $saveStr = ""; $insert = 0; if (isSet($fd)) { while (!feof ($fd)) { $buffer = fgets($fd, 1000000); $str = "INSERT INTO"; if (substr($buffer, 0, strlen($str)) == $str) { if (strlen($saveStr) > 0 && $insert == 1) { saveToFile($saveStr, $maxsize); } $insert = 1; $saveStr = $buffer; // start van input } elseif (strlen($buffer) == 1 && ord($buffer) == 10) { if (strlen($saveStr) > 0) { if ($insert == 1) { saveToFile($saveStr, $maxsize); } $saveStr = ""; } $insert = 0; } else { if ($insert == 1) { $saveStr .= $buffer; } } } if (strlen($saveStr) > 0) { saveToFile($saveStr, $maxsize, true); } echo 'DONE!'; } else { echo "ERR: probleem met openen van dit bestand<br /><br />"; } } else { echo 'ERR: bron bestand kan niet worden gevonden of niet ingevuld!<br /><br />'; } } else { ?> <form method="post"> <table> <tr> <td>Bestand</td> <td><input type="text" name="source" value=".sql"></td> </tr> <tr> <td>Maximale grootte delen</td> <td><input type="text" name="maxsize" value="1000000"></td> </tr> <tr> <td colspan=2><input type="submit" name="" value="Start dit process!"></td> </tr> <?php } ?> |
Timingquote:Op zaterdag 14 juli 2007 17:40 schreef Chandler het volgende:
Time out idd van de explorer!!!
CLI = Command Line Interfacequote:Op zondag 15 juli 2007 11:15 schreef Chandler het volgende:
huh? CLI ?ik ken dat soort scriptjes niet...
Maar natuurlijk heb ik PHP lokaal geinstalleerd staan ;P maar zou't handig zijn om dit progie te porten naar bv VB?lijkt me handig voor veel mensen!
moet ditquote:Zo, vandaag weer een beetje een loos dagje gehad. T begint wel een beetje te verevelen hoor. Vanavond lekker Crossroads gezien. Goede muziek vooral!
wordenquote:Zo, vandaag weer een beetje een loos dagje gehad. T begint wel een beetje te... Lees verder!
Wat moet dat script nou eigenlijk doen? Een groot bestand met inserts importeren in MySQL? Kan dat niet gewoon met de MySQL query browser of met mysql via de command line? En anders maak je zo een programmaatje in VB.NET die de boel in leest.quote:Op zondag 15 juli 2007 11:15 schreef Chandler het volgende:
huh? CLI ?ik ken dat soort scriptjes niet...
Maar natuurlijk heb ik PHP lokaal geinstalleerd staan ;P maar zou't handig zijn om dit progie te porten naar bv VB?lijkt me handig voor veel mensen!
fate doe normaalquote:Op zondag 15 juli 2007 11:39 schreef fate het volgende:
Heeft iemand een leuk idee voor een script? Ik heb zin om nog wat te scripten maar weet niet wat. Iets eenvoudigs maar handig (bv captcha ofzo maar heb ik al gemaakt)...
Schrijf een scriptje voor Chandler om een MySQL backup van 200mb te importeren zonder dat er timeouts optredenquote:Op zondag 15 juli 2007 11:39 schreef fate het volgende:
Heeft iemand een leuk idee voor een script? Ik heb zin om nog wat te scripten maar weet niet wat. Iets eenvoudigs maar handig (bv captcha ofzo maar heb ik al gemaakt)...
quote:Op zondag 15 juli 2007 11:37 schreef qu63 het volgende:
Wat is nou de makkelijkste manier om van een stuk tekst wat in een database staat, alleen de eerste x-aantal woorden te laten zien? En daarna dus een "lees verder" ding..
dus dit:
[..]
moet dit
[..]
worden
1 |
en dan is het verder gewoonquote:Op zondag 15 juli 2007 11:49 schreef SuperRembo het volgende:
[..]
[ code verwijderd ]
$excerpt bevat dan de eerste 10 woorden, of de hele tekst als het minder dan 10 woorden is.
1 2 3 | echo $excerpt; ?> |
1 2 3 4 5 | $bericht = stripslashes($row['Inhoud1'])." ".stripslashes($row['Inhoud2'])." ".stripslashes($row['Inhoud3']); $excerpt = preg_replace('#^((w+W*){0,10}).*?$#i', '1', $bericht); echo $excerpt; ?> |
1 |
dat werkt wel!quote:Op zondag 15 juli 2007 12:02 schreef SuperRembo het volgende:
Ja, replique heeft natuurlijk de backslashes verwijderd.
[ code verwijderd ]
en dan / door backslash vervangen.
#s ipv #i dus!quote:Op zondag 15 juli 2007 12:07 schreef qu63 het volgende:
[..]
dat werkt wel!
Alleen nu laat ie bij meer dan de helft van alle posts helemaal niks meer zien
1 2 3 | en <img src="images/puh2.gif" alt="image" /> |
jup..quote:Op zondag 15 juli 2007 12:59 schreef SuperRembo het volgende:
Eerst de img tags eruit strippen?
Het doel van het script is om een grote SQL file van bv 60MB in stukken van 2.5Mb verdelen. (ongeveer)quote:Op zondag 15 juli 2007 11:37 schreef SuperRembo het volgende:
[..]
Wat moet dat script nou eigenlijk doen? Een groot bestand met inserts importeren in MySQL? Kan dat niet gewoon met de MySQL query browser of met mysql via de command line? En anders maak je zo een programmaatje in VB.NET die de boel in leest.
quote:Op zondag 15 juli 2007 11:45 schreef SuperRembo het volgende:
[..]
Schrijf een scriptje voor Chandler om een MySQL backup van 200mb te importeren zonder dat er timeouts optreden
Maar natuurlijk, deze variabelen zitten snor, omdat ik het bovenstaande script draai met bepaalde commando'squote:Op zondag 15 juli 2007 11:52 schreef fate het volgende:
@chandler: heb je je php.ini al eens gecheckt? Moet je deze dingen eens nakijken en goed instellen:
file_uploads
upload_max_filesize
max_input_time
memory_limit
max_execution_time
post_max_size
Standaard staat het niet erg hoog dus misschien ligt daar de oorzaak?
quote:
quote:Statistieken van 3-juli-07 BirthDAY!
...
Yeahquote:
1 2 3 4 | $handle = fopen($textpath[0], "r"); print_r(explode("r", fread($handle, filesize($textpath[0])))); ?> |
1 |
Is je header ALTIJD je eerste regel, of moet je dat ook checken?quote:Op maandag 16 juli 2007 13:17 schreef mschol het volgende:
nou zit ik met die header in het bestand.. (dit is de eerste regel in het bestand) omdat alles automatisch moet gaan wil ik dat php hem overslaat.
de header is altijd de eerste regel, heb het nu even opgelost met een check op de eerste waarde (die is altijd 1 en hetzelfde nummer, dus als die niet bestaat, niks mee doen)quote:Op maandag 16 juli 2007 14:49 schreef Xcalibur het volgende:
[..]
Is je header ALTIJD je eerste regel, of moet je dat ook checken?
Als je altijd je eerste regel overslaat, zou je met een tellertje erdoorheen kunnen lopen, en bij em alleen aan de array toevoegen als $i != 0
Iemand die weet wat ik hier fout doequote:Op vrijdag 13 juli 2007 18:15 schreef MrDoegewoon het volgende:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<?php
$sql = "SELECT
`module_action`
FROM
`dfms_modules`";
$result = mysql_query($sql) or die (mysql_error());
$count = mysql_num_rows($result);
echo 'Count: ' . $count . '<br>';
$valid = array();
$valid = mysql_fetch_array($result);
print_r($valid);
?>
Geeft:
Count: 3
Array ( [0] => nieuws [module_action] => nieuws )
Terwijl ik toch echt 3 waardes in de array verwacht.
Je krijgt één result terug met twee associatieve waarden (om middels een kolomnummer én kolomnaam de waarde te kunnen achterhalen) omdat je maar één keer mysql_fetch_array() aanroept. Je moet die functie net zolang blijven aanroepen totdat hij FALSE teruggeeft, zodat je zeker weet dat je alle results hebt ingelezenquote:Op maandag 16 juli 2007 21:59 schreef MrDoegewoon het volgende:
[..]
Iemand die weet wat ik hier fout doe
Ik had het al met een fetch_object in een while lusje geprobeerd, maar wss toen iets verkeerd gedaan mss een verkeerde var gebruikt ofzoquote:Op maandag 16 juli 2007 22:01 schreef JeRa het volgende:
[..]
Je krijgt één result terug met twee associatieve waarden (om middels een kolomnummer én kolomnaam de waarde te kunnen achterhalen) omdat je maar één keer mysql_fetch_array() aanroept. Je moet die functie net zolang blijven aanroepen totdat hij FALSE teruggeeft, zodat je zeker weet dat je alle results hebt ingelezen
1 2 3 4 5 6 7 8 | while ($object = mysql_fetch_object($result)) { $module_action = "$object->module_action"; $valid[] = $module_action; } ?> |
Waarom gebruik je een aparte variabele $module_action en waarom zet je aanhalingstekens om $object->module_action?quote:Op maandag 16 juli 2007 22:34 schreef MrDoegewoon het volgende:
[..]
Ik had het al met een fetch_object in een while lusje geprobeerd, maar wss toen iets verkeerd gedaan mss een verkeerde var gebruikt ofzo
Heb nu iig dit
[ code verwijderd ]
En dat werkt
Dit beter:quote:Op maandag 16 juli 2007 22:35 schreef JeRa het volgende:
[..]
Waarom gebruik je een aparte variabele $module_action en waarom zet je aanhalingstekens om $object->module_action?
1 2 3 4 5 6 7 | while ($object = mysql_fetch_object($result)) { $valid[] = $object->module_action; } ?> |
Niets moet, je kunt variabelen op verschillende manieren in een string krijgenquote:Op maandag 16 juli 2007 22:39 schreef MrDoegewoon het volgende:
[..]
Maar dacht me te herinneren dat met PHP ook veel tussen " moest
1 |
misschien mag je die instelling niet aanpassen met een htacces en geeft hij daarom een error 500 terug?quote:Op woensdag 18 juli 2007 15:23 schreef Tijn het volgende:
Heeft iemand ervaring met webhosting bij XS4ALL? Ik heb een probleempje met het veranderen van instellingen van PHP met een .htaccess bestandje.
Standaard staat bij die lui namelijk register_globals aan. Ik weet niet waarom, maar zelfs bij hun PHP5 installatie (waarbij het toch standaard uitstaat), hebben zij het weer aangezet.
Ik wil dat niet. Dus ik dacht, ik maak een .htaccess file met daarin het volgende:
[ code verwijderd ]
Bij een andere host werkt dat prima, maar nu resulteert dit in een Error 500, Internal Server Error waardoor de hele website het niet meer doet![]()
![]()
Ik heb hierover al een bericht gestuurd naar de helpdesk van XS4ALL, maar ik hoop dat iemand hier er ook ervaring mee heeft en me kan vertellen waarom dit gebeurt en hoe ik het oplos
Maar hoe krijg ik het dan uit? Je kunt volgens php.net het ook niet met ini_set() oplossenquote:Op woensdag 18 juli 2007 15:35 schreef mschol het volgende:
[..]
misschien mag je die instelling niet aanpassen met een htacces en geeft hij daarom een error 500 terug?
Ik weet niet waar ik die kan vindenquote:Op woensdag 18 juli 2007 15:54 schreef WyriHaximus het volgende:
Staat er niks in je error log?
Probeer het eens in je admin panel bij je hosting. Of anders zoek eens op error_logquote:
Is http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html iets?quote:Op woensdag 18 juli 2007 16:52 schreef wonderer het volgende:
Is er een makkelijke manier om "als record met bepaalde waarden al bestaat, update, anders insert" te doen of wordt dat gewoon eerst een select met if num_rows!='0' ?
Hm, de columns die ik als argument wil gebruiken, kunnen niet unique zijn (n-n relatie). Het is een "inventarislijst", waarbij een gebruiker meerdere dingen kan hebben, en een ding meerdere gebruikers die het gekocht hebben. Als ze echter nog iets kopen van hetzelfde type, moet het aantal worden opgevoerd en niet een nieuw record worden aangemaakt. De combinatie van twee kolommen is dus wel uniek, maar niet de kolommen apart. En uit die tekst kan ik zo gauw niet halen of dat mogelijk is.quote:Op woensdag 18 juli 2007 17:10 schreef Light het volgende:
[..]
Is http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html iets?
Ik weet niet hoe je script onderuit gaat, maar als het om de layout oid gaat kun je basename() gebruiken om het path te verwijderen.quote:Op woensdag 18 juli 2007 18:31 schreef mschol het volgende:
http://nl3.php.net/manual/en/function.ftp-nlist.php
iemand die een linux vervanging, of omweg weet voor die functie:
ik moet een lijst van bestandsnamen hebben in de huidige directory...
onder windows krijg ik met bovenstaande functie netjes een lijst met bestandnamen (identiek aan een dir /b)
alleen linux vind het nodig het hele pad er aan toe te voegen waardoor me script onderuit gaat..
readdirquote:Op woensdag 18 juli 2007 18:31 schreef mschol het volgende:
http://nl3.php.net/manual/en/function.ftp-nlist.php
iemand die een linux vervanging, of omweg weet voor die functie:
ik moet een lijst van bestandsnamen hebben in de huidige directory...
onder windows krijg ik met bovenstaande functie netjes een lijst met bestandnamen (identiek aan een dir /b)
alleen linux vind het nodig het hele pad er aan toe te voegen waardoor me script onderuit gaat..
Ja hoor, als de combinatie van die 2 kolommen uniek is (of primary) dan werkt dat. En dan doe je als update iets van c=c+1, dus de oude waarde hoef je ook niet te weten.quote:Op woensdag 18 juli 2007 17:17 schreef wonderer het volgende:
[..]
Hm, de columns die ik als argument wil gebruiken, kunnen niet unique zijn (n-n relatie). Het is een "inventarislijst", waarbij een gebruiker meerdere dingen kan hebben, en een ding meerdere gebruikers die het gekocht hebben. Als ze echter nog iets kopen van hetzelfde type, moet het aantal worden opgevoerd en niet een nieuw record worden aangemaakt. De combinatie van twee kolommen is dus wel uniek, maar niet de kolommen apart. En uit die tekst kan ik zo gauw niet halen of dat mogelijk is.
werkt, lijkt mij, niet omdat ik op een ftp server zit, basename is wel een goeie functie, die zou het probleem moeten kunnen oplossenquote:
Daar moet je dus mee uitkijken, als je dat niet met een subquery doet is je geheel niet meer atomic en kunnen er dus andere queries tussendoor kruipenquote:Op woensdag 18 juli 2007 17:37 schreef Breuls het volgende:
Als de in te voeren waarde niet al bekend is, maar eerst uitgelezen dient te worden, moet je eerst een select doen.
1 2 3 4 5 6 | FROM nested_category AS node, nested_category AS parent WHERE node.lft BETWEEN parent.lft AND parent.rgt AND node.name = 'FLASH' ORDER BY parent.lft; |
1 2 3 4 5 6 | FROM nested_category AS node, nested_category AS parent WHERE node.lft BETWEEN parent.lft AND parent.rgt GROUP BY node.name ORDER BY node.lft; |
1 2 3 4 5 6 7 8 | $time = time()+86400; if(setcookie("order", 'cookietest', $time, "/")){ echo 'cookieset is set!'; } else echo 'cookie not set :('; ?> |
Vaag..hier werkt 't nog steeds niet op m'n Mac. Als je bij preferences -> cookies kijkt enzo, dan zie je 'm er ook echt tussen staan?quote:Op donderdag 19 juli 2007 18:30 schreef Xcalibur het volgende:
Bij mij doet ie het op zowel IE6 / WinXP als Safari 2.0.4 op de Mac?
Geprobeerd, maar dat is het niet. Het ligt echt aan het expiration argument. Als ik die weg laat, dan zet ie 'm in Safari ook.quote:Op donderdag 19 juli 2007 18:55 schreef WyriHaximus het volgende:
Je moet het domain er ook ff bij zetten, scheelt nog al eens. http://php.net/setcookie -> eerste comment is ook goeie om ff te lezen
.
Haha kennelijkquote:Op vrijdag 20 juli 2007 15:31 schreef Geqxon het volgende:
Witte computers hebben het gewoon niet op koekkruimels.
Zet de tijd anders een een jaar of 20 voor uit. Misschien dat de tijd van de server maf staat en het tijds verschil tussen je mac en serveer te groot is. (Ja of je draait lokaal dan zit ik er zwaar naastquote:Op vrijdag 20 juli 2007 15:27 schreef H4ze het volgende:
[..]
Vaag..hier werkt 't nog steeds niet op m'n Mac. Als je bij preferences -> cookies kijkt enzo, dan zie je 'm er ook echt tussen staan?
[..]
Geprobeerd, maar dat is het niet. Het ligt echt aan het expiration argument. Als ik die weg laat, dan zet ie 'm in Safari ook.
Weet niet wat jij wit aan een G5 Mac Pro vindt?quote:Op vrijdag 20 juli 2007 15:31 schreef Geqxon het volgende:
Witte computers hebben het gewoon niet op koekkruimels.
Weet ik niet, en dat kan ik nu ook niet checkenquote:Op vrijdag 20 juli 2007 15:27 schreef H4ze het volgende:
Vaag..hier werkt 't nog steeds niet op m'n Mac. Als je bij preferences -> cookies kijkt enzo, dan zie je 'm er ook echt tussen staan?
Je powercable.quote:Op vrijdag 20 juli 2007 16:37 schreef WyriHaximus het volgende:
[..]
Zet de tijd anders een een jaar of 20 voor uit. Misschien dat de tijd van de server maf staat en het tijds verschil tussen je mac en serveer te groot is. (Ja of je draait lokaal dan zit ik er zwaar naast.)
[..]
Weet niet wat jij wit aan een G5 Mac Pro vindt?![]()
[afbeelding]
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |