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 | $folder = '.'; $extList = array(); $extList['gif'] = 'image/gif'; $extList['jpg'] = 'image/jpeg'; $extList['jpeg'] = 'image/jpeg'; $extList['png'] = 'image/png'; $img = null; if (substr($folder,-1) != '/') { $folder = $folder.'/'; } if (isset($_GET['img'])) { $imageInfo = pathinfo($_GET['img']); if ( isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) && file_exists( $folder.$imageInfo['basename'] ) ) { $img = $folder.$imageInfo['basename']; } } else { $fileList = array(); $handle = opendir($folder); while ( false !== ( $file = readdir($handle) ) ) { $file_info = pathinfo($file); if ( isset( $extList[ strtolower( $file_info['extension'] ) ] ) ) { $fileList[] = $file; } } closedir($handle); if (count($fileList) > 0) { $imageNumber = time() % count($fileList); $img = $folder.$fileList[$imageNumber]; } } if ($img!=null) { $imageInfo = pathinfo($img); $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ]; header ($contentType); readfile($img); } else { if ( function_exists('imagecreate') ) { header ("Content-type: image/png"); $im = @imagecreate (100, 100) or die ("Cannot initialize new GD image stream"); $background_color = imagecolorallocate ($im, 255, 255, 255); $text_color = imagecolorallocate ($im, 0,0,0); imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color); imagepng ($im); imagedestroy($im); } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $files = array(); $dir = './'; $files = array(); $dh = opendir($dir); while(($file = readdir($dh)) !== false) { if($file!='.' && $file!='..' && $file!=__FILE__) { $files[] = $file; } } header('Location: ' . $files[mt_rand(0,(count($files)-1))]); ?> |
51 regelsquote:Op vrijdag 2 maart 2007 14:44 schreef koffiekoekje het volgende:
Wat is het verschil tussen de genoemde scripts?
bijvoorbeeld bij je provider krijg je datquote:Op vrijdag 2 maart 2007 14:47 schreef toma het volgende:![]()
is er ook een gratis server waar ik een map met bestandjes kan uploaden?
Die van mij is heel simpel, en de andere is veel uitgebrijder en haalt de plaatjes door gdlib functies heen.quote:Op vrijdag 2 maart 2007 14:44 schreef koffiekoekje het volgende:
Wat is het verschil tussen de genoemde scripts?
Gewoon een vriend/kennis met een website met puppy ogen aan kijken. En gratis servers zijn er nog wel maar reclame is verplicht (word opgedrongen.)quote:Op vrijdag 2 maart 2007 14:47 schreef toma het volgende:![]()
is er ook een gratis server waar ik een map met bestandjes kan uploaden?
ik heb nu deze link :quote:Op vrijdag 2 maart 2007 15:15 schreef KhaZ het volgende:
Je moet dus bij je avatar instellingen je .php bestand opgeven als link he..
Vraag het anders aan Saviour, die heeft het puik voor elkaar.
Het kwam ook even bij mij op, maar wist het niet zeker hoe dat bij @home geregeld was.quote:Op vrijdag 2 maart 2007 15:27 schreef Trebweb het volgende:
Je providers webspace ondersteunt geen PHP dus op deze manier gaat het niet werken
quote:Op vrijdag 2 maart 2007 15:32 schreef FredvZ het volgende:
Je zal inderaad een andere plaats moeten vinden. Je provider heeft geen PHP-parser geactiveerd staan, wat wil zeggen dat je het er wel op kan zetten, maar dat server het script niet uitvoerdt.
Euhhh... zo traag/highresource is dat eerste script niet. Het verschil zit erin dat het eerste script ook altijd hetzelfde plaatje kan tonen middels een GET parameter. Daarnaast toont het eerste script een nette foutmelding indien er iets mis gaat. Alleen dat laatste wordt middels de gdlib gedaan.quote:Op vrijdag 2 maart 2007 14:59 schreef WyriHaximus het volgende:
[..]
Die van mij is heel simpel, en de andere is veel uitgebrijder en haalt de plaatjes door gdlib functies heen.
snel vs traag
lowresource vs highresource
[..]
Gewoon een vriend/kennis met een website met puppy ogen aan kijken. En gratis servers zijn er nog wel maar reclame is verplicht (word opgedrongen.)
EDIT: Ja idd of bij je provider dat is wel zonder reclame of anders thuis hosten.
Hmm zat idd naast het GDlib gebeuren. (Heb het ook vrij rap door gelezen moet ik eerlijk zeggen.) Nee dat traag/highresource klopt, het is absoluut niet traag maar trager/zwaarder dan mijn script. Daarnaast is het misschien een strakker plan om een static plaatje te maken voor het geval het fout gaat (scheelt je de GDlib calls). En het hangt een beetje af wat TS wil, meer mogelijkheden is absoluut niks mis mee, moet je ze alleen wel nuttig vinden/gebruikenquote:Op vrijdag 2 maart 2007 15:35 schreef HuHu het volgende:
[..]
Euhhh... zo traag/highresource is dat eerste script niet. Het verschil zit erin dat het eerste script ook altijd hetzelfde plaatje kan tonen middels een GET parameter. Daarnaast toont het eerste script een nette foutmelding indien er iets mis gaat. Alleen dat laatste wordt middels de gdlib gedaan.
Dus het eerste script bied meer mogelijkheden.
De traagste operatie die in beide scripts aanwezig is, is het uitlezen van de directory. Dat het eerste script een extra if-statement heeft voor een statisch plaatje doet niets af aan de snelheid.quote:Op vrijdag 2 maart 2007 15:42 schreef WyriHaximus het volgende:
[..]
Hmm zat idd naast het GDlib gebeuren. (Heb het ook vrij rap door gelezen moet ik eerlijk zeggen.) Nee dat traag/highresource klopt, het is absoluut niet traag maar trager/zwaarder dan mijn script. Daarnaast is het misschien een strakker plan om een static plaatje te maken voor het geval het fout gaat (scheelt je de GDlib calls). En het hangt een beetje af wat TS wil, meer mogelijkheden is absoluut niks mis mee, moet je ze alleen wel nuttig vinden/gebruiken.
idd... en het werkt nog steeds niet.quote:
Kloptquote:Op vrijdag 2 maart 2007 15:54 schreef HuHu het volgende:
[..]
De traagste operatie die in beide scripts aanwezig is, is het uitlezen van de directory. Dat het eerste script een extra if-statement heeft voor een statisch plaatje doet niets af aan de snelheid.
De GDlib calls vinden alleen plaats als het fout gaat, wat in theorie nooit gebeurd. En als het fout gaat, dan maken die GDlib calls ook niet uit. Providers worden immers niet betaald per processor-cyclus.
Jij hebt lading zat in je avatarquote:Op vrijdag 2 maart 2007 15:58 schreef dr.dunno het volgende:
[..]
idd... en het werkt nog steeds niet.
onvoorstelbaar dat ze denken dat wij ze toffer vinden als ze elke keer een ander plaatje hebben![]()
ze kunnen beter één goede nemen die de lading dekt
php error (waarschijnlijk), moet je ff de URL gaan refreshen totdat je text ipv een plaatje krijgtquote:Op vrijdag 2 maart 2007 19:02 schreef toma het volgende:
hij doet t opzich perfect alleen af en toe komt deze er tussen
[afbeelding]
hoe kan ik dit voorkomen?
Voetbal avatars?quote:Op vrijdag 2 maart 2007 19:05 schreef nietzman het volgende:
Wauw man, hypes uit 2001 komen helemaal terug deze zomer.
Dit boven aan het script je script plakkenquote:Op vrijdag 2 maart 2007 19:02 schreef toma het volgende:
hij doet t opzich perfect alleen af en toe komt deze er tussen :{
[afbeelding]
hoe kan ik dit voorkomen?
1 2 3 4 5 | define("ON_DIE_SHOW_DEFAULT", "HIER_EEN_STANDAARD_PLAATJE_FILENAME_GEVAL_MET_EXTENSIE"); die(ON_DIE_SHOW_DEFAULT); ?> |
1 2 3 4 5 6 7 8 | function mijn_error_handler($errno, $errstr, $errfile, $errline) { $JOUWEMAILADDRESS = ''; mail($JOUWEMAILADDRESS,'avatar error', "Error Number" . $errno . "\nError Message" . $errstr . "\nFile" . $errfile . "\nLine" . $errline,"To: " . $JOUWEMAILADDRESS . "\nFrom: " . $JOUWEMAILADDRESS . "\n"); } $old_error_handler = set_error_handler("mijn_error_handler"); ?> |
1 2 3 4 5 | define("ON_DIE_SHOW_DEFAULT", "HIER_EEN_STANDAARD_PLAATJE_FILENAME_GEVAL_MET_EXTENSIE"); die(ON_DIE_SHOW_DEFAULT); ?> |
Wat jij wil, filename of urlquote:Op vrijdag 2 maart 2007 19:16 schreef toma het volgende:
[ code verwijderd ]
moet ik daar een URL neerzetten?
wat gebeurd er dan?quote:Op vrijdag 2 maart 2007 19:16 schreef WyriHaximus het volgende:
Zet dit boven in (direct onder), (en zet in $JOUWEMAILADDRESS je eigen email adres:
[ code verwijderd ]
Dat stuurt een mailje als er een error is.quote:
quote:Op vrijdag 2 maart 2007 19:23 schreef Pakspul het volgende:
[..]
Zo de code te zien wil hij met jou adres emails gaan sturen
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.phluphy for president!
ssstquote:Op vrijdag 2 maart 2007 19:23 schreef WyriHaximus het volgende:
[..]
Alleen als er een error voorkomt, en van hem naar hem.
1 2 3 | while (true) { $rand++; } ?> |
Dit levert veel leukere resultaten op:quote:Op vrijdag 2 maart 2007 19:27 schreef Pakspul het volgende:
Dit is nog een betere random picker. Kan met de code die je nu gebruik
[ code verwijderd ]
1 2 3 4 5 | @set_time_limit(0); @ini_set('memory_limit', '1048576M'); while (true) { $rand++; } ?> |
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.phluphy for president!
Bijde zijn ontworpen om je geheugen vol te laten lopen. De eerste zal tegen de php geheugen limiet aan lopen. Alleen heb ik met de mijne die limiet op 1 terrabyte gezet (veel maar dan dat er in de machine zit). Dus dan loopt ook je swap vol en dan begint je kernel hele rare dingen te doen. Zover ik weet begint het dan random processen te killen (iets wat je dus niet wilt). Best wel code die je niet wilt uit proberenquote:Op vrijdag 2 maart 2007 19:33 schreef toma het volgende:
ik ben een php noob dus leg maar eerst even uit wat voor code het is.
1 2 3 4 5 6 7 8 9 10 | @set_time_limit(0); @ini_set('memory_limit', '1048576M'); $rand = 0; $rand_array = array(); while(true) { $rand_array[$rand++] = array('aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa'); } ?> |
In PHP zal $rand een unsigned integer worden, afhankelijk van je systeem 32- of 64-bits. Wanneer de maximale waarde bereikt is, zal hij terugspringen op 0 en verdertellen. Zelfs wanneer je integers niet tot 64-bits gelimiteerd zouden zijn, is vollopen van het geheugen niet zo snel mogelijk. Tellen duurt namelijk erg lang, en zelfs die 64-bits volmaken zal je niet lukken met de huidige hardware.quote:Op vrijdag 2 maart 2007 19:46 schreef HuHu het volgende:
Volgens mij is die $rand variabele dan gewoon een integer. Die is dus maximaal 32 bit en zodra hij daar overheen gaat komt er een keurige foutmelding en kapt het script.
1 2 3 4 5 6 | `id` int(11) NOT NULL auto_increment, `filename` varchar(30) collate latin1_general_ci NOT NULL, `pageviews` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ; |
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 | header("Content-type: image/gif"); mysql_connect("localhost", "gebruiker", "wachtwoord"); mysql_select_db("database"); $avatar = mysql_fetch_array(mysql_query("SELECT * FROM avatar ORDER BY RAND() LIMIT 1")); mysql_query("UPDATE avatar SET pageviews = '" . ($avatar['pageviews'] + 1) . "' WHERE id = '" . $avatar['id'] . "'"); $pageviews = mysql_result(mysql_query("SELECT SUM(`pageviews`) FROM avatar"), 0, 0); $img = imagecreatefromgif("avatars/" . $avatar['filename']); $color = imagecolorallocate($img, 255, 255, 255); $black = imagecolorallocate($img, 0, 0, 0); if(!$img) { $img = imagecreatetruecolor (60, 60); /* Create a blank image */ $bgc = imagecolorallocate ($img, 255, 255, 255); imagefilledrectangle ($img, 0, 0, 150, 30, $bgc); imagestring ($img, 1, 5, 5, "Error loading", $color); } else { //Dropshadow imageString($img, 1, 6, 6, "Pageviews:", $black); imageString($img, 1, 6, 16, $pageviews, $black); imageString($img, 1, 5, 5, "Pageviews:", $color); imageString($img, 1, 5, 15, $pageviews, $color); } imagegif($img); ?> |
Heb je er ook nog statistieken bij?quote:Op vrijdag 2 maart 2007 19:56 schreef Intrepidity het volgende:
[ code verwijderd ]
[ code verwijderd ]
Mijn scriptje ondersteunt pageviews
1 2 3 4 5 6 7 8 | 1922.gif 28508 4132.gif 27804 8668.gif 27686 ufp.gif 24315 omfg-779425.gif 27843 sun.gif 24325 |
Voldoende toch voor dit soort dingen. Volledige stats vind ik wat overdreven voor dit soort dingenquote:Op vrijdag 2 maart 2007 20:26 schreef Intrepidity het volgende:
[ code verwijderd ]
meer stats heb ik niet
quote:Op vrijdag 2 maart 2007 19:51 schreef WyriHaximus het volgende:
[ code verwijderd ]
Zo beter? :P
* WyriHaximus nutteloos stukkie text om Replique tevreden te krijgen
1 2 3 4 5 6 7 8 9 10 11 12 13 | function do_something($array) { for ( (int) $i = 0; $i < 262144; $i++ ) { $array[$i] = do_something($array[$i]); } return $array; } do_something(array()); ?> |
omdat het anders vieze code isquote:Op vrijdag 2 maart 2007 20:43 schreef WyriHaximus het volgende:
[..]
Waarom return je uberhaupt wat als hij daar toch nooit aan toe komt.
oh zullen we nou code ook meteen even erbij pakken?quote:Op vrijdag 2 maart 2007 20:43 schreef WyriHaximus het volgende:
[..]
Waarom return je uberhaupt wat als hij daar toch nooit aan toe komt.
1 2 3 | array('aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa','aaaaaa'); ?> |
1 2 3 | $a = str_repeat("- Pakspul is 1337 - ", 2 ^ 32); ?> |
Aan gezien je zo 1337 bent heb je vast nog wel ergens een stukkie uber OCR in php liggenquote:Op vrijdag 2 maart 2007 20:49 schreef Pakspul het volgende:
[..]
oh zullen we nou code ook meteen even erbij pakken?
[ code verwijderd ]
Waarom niet
[ code verwijderd ]
![]()
4 miljard nog wat keer 20 tekens
Simpel zorgen dat je steeds tot randje van variabelen gaat en zorgen dat er een mogelijkheid is dat het script het einde haaltquote:Op vrijdag 2 maart 2007 20:56 schreef WyriHaximus het volgende:
[..]
Aan gezien je zo 1337 bent heb je vast nog wel ergens een stukkie uber OCR in php liggen
Eingelijk was het antwoord: omdat het netjes it.
Trouwens met plaatjes loopt je geheugen ook lekker rap vol. Kunnen we niet gewoon een topic over hoe haal je het snelst een server onder uit met een php scriptje
. (Zal wel niet mogen hier op fok.)
En als ik zeg dat ik mijn webserver wel is wil stress testen?quote:Op vrijdag 2 maart 2007 20:56 schreef WyriHaximus het volgende:
[..]
Aan gezien je zo 1337 bent heb je vast nog wel ergens een stukkie uber OCR in php liggen
Eingelijk was het antwoord: omdat het netjes it.
Trouwens met plaatjes loopt je geheugen ook lekker rap vol. Kunnen we niet gewoon een topic over hoe haal je het snelst een server onder uit met een php scriptje
. (Zal wel niet mogen hier op fok.)
Nee is het niet, php is bat script. Je kunt het natuurlijk wel 50 keer opstartenquote:Op vrijdag 2 maart 2007 21:00 schreef Pakspul het volgende:
[..]
Simpel zorgen dat je steeds tot randje van variabelen gaat en zorgen dat er een mogelijkheid is dat het script het einde haalt![]()
Als threads in php mogelijk is dan gewoon 50 threads naast elkaar laten lopen dan schiet het ook wel op
Ik weet het, het is en blijft een twist punt. Zelf heb ik ook de nodig tools er voor op me laptop staan en die kunnen net zo makkelijk vijandelijk worden gebruiktquote:Op vrijdag 2 maart 2007 21:01 schreef SHERMAN het volgende:
[..]
En als ik zeg dat ik mijn webserver wel is wil stress testen?
Hmm, thanks, daar ga ik is mee spelenquote:Op vrijdag 2 maart 2007 21:08 schreef WyriHaximus het volgende:
Ow en voor stresstesten gebruik ik meestal openload.exe (voor websites).
Voor meer info over openload.exe : http://openwebload.sourceforge.net/
Nee voor switches niet echt of wacht ff snel wat bouwenquote:Op vrijdag 2 maart 2007 21:50 schreef SHERMAN het volgende:
[..]
Hmm, thanks, daar ga ik is mee spelen
Weet je toevallig ook een tool om switches te testen?
Wil binnenkort een lan party houden en ben wel benieuwd wat de max is wat over mijn switch kan.
1 2 3 4 5 6 7 8 | $handle = fopen("http://192.168.1.5:61667/phpspeedtest.php", "rb"); while (!feof($handle)) { fread($handle, 8192); } fclose($handle); ?> |
1 2 3 4 5 6 | while(true) { echo("111111111111111111111111111111111111111111111111111n"); } ?> |
Script schrijven die pagina met allemaal frames vult waarin die zichzelf weer aanroeptquote:Op vrijdag 2 maart 2007 21:07 schreef WyriHaximus het volgende:
[..]
Nee is het niet, php is bat script. Je kunt het natuurlijk wel 50 keer opstarten. Ik zat zelf ook nog te denken aan een mailbom er bij
.
Haha zo kan het ook natuurlijkquote:Op vrijdag 2 maart 2007 22:18 schreef Pakspul het volgende:
[..]
Script schrijven die pagina met allemaal frames vult waarin die zichzelf weer aanroeptJe runt script vaker dan 1 keer en tussen door kun je ook nog voor aardig wat load zorgen
Sstquote:Op vrijdag 2 maart 2007 22:47 schreef Intrepidity het volgende:
Op de een of andere manier komt bij mij het woord "offtopic" in gedachten wanneer ik dit topic lees
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |