hier zou een slimme opmerking kunnen staan
maar die staat er niet
|>
i5-12600K PRIME Z690M-PLUS D4 64GB 980 Pro M.2 1TB MBA M1 13" 8GB 256GB (Late '20)
Verwijderd
Omdat hij misschien liever niet heeft dat mensen alle plaatjes gaan binnentrekken?questa schreef op 04 april 2004 @ 20:08:
Waarom niet de plaatjes nummeren?
Maar een unieke md5 string zou goed moeten zijn, zeker als je eerst nog even kijkt of het bestand al bestaat (ook al is de kans heel erg klein).
[ Voor 26% gewijzigd door Verwijderd op 04-04-2004 20:10 ]
Controleer hierna of dat bestand wellicht bestaat met de functie file_exists; maar dat is inderdaad redelijk onwaarschijnlijkquote: http://nl.php.net/randPHP:
1 md5(time());
[ Voor 16% gewijzigd door Spider.007 op 04-04-2004 20:12 ]
---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate
1
2
3
4
5
6
7
8
9
10
| function RandomFile($pass_len=12) { $allchar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ; $str = "" ; mt_srand (( double) microtime() * 1000000 ); for ( $i = 0; $i<$pass_len ; $i++ ) $str .= substr( $allchar, mt_rand (0,51), 1 ) ; return $str ; } |
My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant
verder: www.php.net/uniqid
[ Voor 26% gewijzigd door .oisyn op 04-04-2004 20:17 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
ik probeer ze allemaal te beantwoorden....
ik denk dat ik dat microtime eens ga proberen wat .oisyn vertelde.... dat lijkt me wel een goede oplossing.. en dan met file_exists controleren wat zeer onwaarschijnlijk is
thanx
edit: op die laatste link een goede manier gevonden, md5 en unique id gebruiken:
1
2
3
| <? $random_name = md5(uniqid(rand(), true)); ?> |
[ Voor 26% gewijzigd door hobbeldebobbel op 04-04-2004 20:27 ]
hier zou een slimme opmerking kunnen staan
maar die staat er niet
Als ik een snelle gok mag wagen van het aantal keren dat deze functie aangeroepen gaat worden zou het geen probleem op moeten leveren.oisyn schreef op 04 april 2004 @ 20:16:
Spider.007: Gebruik dan microtime (), meerdere requests per seconde zijn niet uncommon
verder: www.php.net/uniqid
Je hebt wel gelijk dat microtime beter is; en uniqid inderdaad nog beter; vooral met de LCG vlag; met de geweldige omschrijving
Uniek, unieker, uniekstIf the optional lcg parameter is TRUE, uniqid() will add additional "combined LCG" entropy at the end of the return value, which should make the results more unique.
---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate
[nummer]_[stukje hash-code].extensie
zo heb je voor jezelf nog wel een ordering, namelijk dat nummer met een underscore en daarachter plak je vervolgens een uniek stukje tekst, zoals hierboven beschreven. Dit maakt het dus onmogelijk om zomaar met een scriptje binnen te halen, maar je houdt toch een mooie ordering
Dus bv:
$name = $count + "_" + $random + ".jpg";
[ Voor 7% gewijzigd door chris op 04-04-2004 21:00 ]
dat lcg... wat is dat? "combined LCG" entropy beetje raar dat het dan opeens nog unieker is...... dat kan dus eigenlij niet, als dat zonder lcg flag ook al uniek is.....
dus: zonder lcg is het niet uniek...... en met lcg is het wel uniek
of kan je zeggen dat alle getallen niet uniek zijn?? maar dat het slechts een op de hoeveel miljoen kans heeft om twee keer "getrokken" te worden..... bah wat heb ik een hekel aan statistiek
hier zou een slimme opmerking kunnen staan
maar die staat er niet
Zolang jij controleert of de file al bestaat of niet is er niets aan de hand.hobbeldebobbel schreef op 05 april 2004 @ 10:14:
mwah ordening is niet nodig .... alles komt straks in een database te staan, die zorgt wel voor de ordening
dat lcg... wat is dat? "combined LCG" entropy beetje raar dat het dan opeens nog unieker is...... dat kan dus eigenlij niet, als dat zonder lcg flag ook al uniek is.....
dus: zonder lcg is het niet uniek...... en met lcg is het wel uniek
of kan je zeggen dat alle getallen niet uniek zijn?? maar dat het slechts een op de hoeveel miljoen kans heeft om twee keer "getrokken" te worden..... bah wat heb ik een hekel aan statistiek
edit:
Was het niet zo dat die iniek functies er voor zorgde dat randoms enzo uniek waren?
[ Voor 9% gewijzigd door pjvandesande op 05-04-2004 10:19 ]
Op zich wel een interessant punt; je moet even bedenken dat een computer met 1en en 0en werkt. Hij kan niet uitzichzelf besluiten om een 1 of een 0 te generen. Hier is _altijd_ een beslissing op basis van inputgegevens voor nodig. In qBasic werden bijvoorbeeld lijsten met random waardes gegenereerd adhv een bepaalde input, gecombineerd met een bepaald algoritme. Hier kwamen ook altijd dezelfde getallen uit.hobbeldebobbel schreef op 05 april 2004 @ 10:14:
mwah ordening is niet nodig .... alles komt straks in een database te staan, die zorgt wel voor de ordening
dat lcg... wat is dat? "combined LCG" entropy beetje raar dat het dan opeens nog unieker is...... dat kan dus eigenlij niet, als dat zonder lcg flag ook al uniek is.....
dus: zonder lcg is het niet uniek...... en met lcg is het wel uniek
of kan je zeggen dat alle getallen niet uniek zijn?? maar dat het slechts een op de hoeveel miljoen kans heeft om twee keer "getrokken" te worden..... bah wat heb ik een hekel aan statistiek
Om een beter random getal te verkrijgen werd vaak gebruik gemaakt van deze random functie die als input (bijvoorbeeld) de huidige tijd in microseconden, of de uptime van de computer in microseconden werd gebruikt. Dit is namelijk een getal wat vaak genoeg verandert om echte randomness te veroorzaken.
De beste manier om dus een randomgetal te verkrijgen is het combineren van de huidige tijd met bijvoorbeeld het huidige geheugengebruik, de uptime, het processorgebruik of een ander vaakveranderend getal. Deze trek je door een bepaald algoritme; en voila.. een random getal
---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate