files opslaan zonder zelfde naam.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

Front End Developer React Vue

Dit ga je doen Meewerken aan de implementaties en ontwikkeling van nieuwe functionaliteiten van de webapplicaties; Ontwikkelen met o.a. React en Vue en HTML/CSS, ook krijg je in verband met de samenwerking ook affiniteit met de backend Ruby on Rails; Ontwikkeling aan de front end voor de koppelingen tussen de diverse systemen; Ontwerpen van interfaces en een bijdrage leveren aan de gebruikerservaring; Zorgdragen voor hoge kwaliteit van code en jezelf (en anderen) blijven verbeteren; Als Senior Front End Developer begeleid je zelf ook FE-development projecten, hierin leid je de projecten en pak jij het initiatief op (bv integratieprojecten). Hier ga

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

Pagina: 1 2 volgende »

Tim Ouwerkerk

Tim Ouwerkerk

03/05/2012 17:05:04
Quote Anchor link
Hallo allemaal,

ik ben bezig voor een media website,
en hierbij kunnen mensen files uploaden, ik weet alleen nog niet zo goed hoe ik deze files moet opslaan op mijn server zonder dubbelen file names,
ik zat zelf te denken aan iets van randid() of iets dergelijks en het zo op te slaan in mijn database als primary key om de file te vinden,
is dit een goede manier of is de kans dat ik dan een dubbele file krijg ook nog aanzienlijk groot?

alvast bedankt,

MVG Tim Ouwerkerk.
 
PHP hulp

PHP hulp

16/05/2024 18:37:01
 
Jeroen VD

Jeroen VD

03/05/2012 17:07:29
Quote Anchor link
wat je jezelf even moet afvragen: stoort het jouw dat er files onder dezelfde naam staan? anders kun je een extra kolom toevoegen in je database, ID met auto-increment, en krijgt iedere file een ander ID, zelfs bij dezelfde naam. je hoeft die ID niet zelf te genereren, dat doet de database voor jou
 
Obelix Idefix

Obelix Idefix

03/05/2012 17:57:58
Quote Anchor link
Jeroen vd op 03/05/2012 17:07:29:
wat je jezelf even moet afvragen: stoort het jouw dat er files onder dezelfde naam staan?

Kun jij 2 files met dezelfde naam opslaan op een locatie?!?? :s

Doorgaans wordt geadviseerd om de bestandsnamen niet over te nemen, maar zelf toe te kennen/aan te passen. je zou hierbij kunnen werken met bv datum/tijd en desnoods een random-id.
 
Jeroen VD

Jeroen VD

03/05/2012 18:01:39
Quote Anchor link
Obelix en Idefix op 03/05/2012 17:57:58:
Kun jij 2 files met dezelfde naam opslaan op een locatie?!?? :s


yep. met een ID in de database
 
Joakim Broden

Joakim Broden

03/05/2012 18:09:16
Quote Anchor link
Jeroen vd op 03/05/2012 18:01:39:
Obelix en Idefix op 03/05/2012 17:57:58:
Kun jij 2 files met dezelfde naam opslaan op een locatie?!?? :s


yep. met een ID in de database

Wat heeft database te maken met opslaan van de bestanden op de server???

Je kunt niet bestand1.jpg en bestand1.jpg in dezelfde directory op slaan... En anders mag je me uitleggen hoe.
 
Obelix Idefix

Obelix Idefix

03/05/2012 18:09:37
Quote Anchor link
Dus als jij als bestand upload test.jpg en ik daarna ook, dan kun jij beide bestanden met deze (zelfde) naam op de server plaatsen?
 
Jeroen VD

Jeroen VD

03/05/2012 18:15:11
Quote Anchor link
ooo zo. ik zou iig voor de gebruiker gewoon de naam die hij wil, en zelf (dmv die database ID) een unieke naam geven aan dat bestand. wanneer dat dan gedownload wordt, krijgt het weer de oude naam.
 
Pg Vincent

Pg Vincent

03/05/2012 19:15:23
Quote Anchor link
Dubbele namen kunnen opzich natuurlijk prima, zolang de rest van het pad maar verschilt. Een map per gebruiker bijvoorbeeld, of per categorie/nieuwsartikel, weetikveel.

Overigens kun/mag/wil je sowieso nooit de originele bestandsnaam gebruiken want je weet niet wat een hacker allemaal voor onzin aan kan bieden. "index.php" geeft charmante effecten.
Omdat je zelf een naam moet verzinnen moet je ergens bijhouden wat de originele naam was en dus kom je uit op een database. Een sequence of een auto_increment kan heel makkelijk volledig unieke namen genereren. Vergeet niet de extentie en het mimetype op te slaan.
De bestanden zelf kun je in principe ook in de database zetten maar dan maak je ze wel minder toegankelijk als je b.v. foto's en films wilt embedden in html.
 
Chris PHP

Chris PHP

04/05/2012 07:57:14
Quote Anchor link
Jeroen vd op 03/05/2012 18:01:39:
Obelix en Idefix op 03/05/2012 17:57:58:
Kun jij 2 files met dezelfde naam opslaan op een locatie?!?? :s


yep. met een ID in de database


2 bestanden met dezelfde naam (op locatie!) kan niet. De oude wordt simpelweg overschreven. In een DB worden geen bestanden opgeslagen, alleen paden naar die bestanden.

@TS:

Je kunt een simpele random nummer generator maken die een x cijferig nummer voor of achter de originele bestandsnaam zet voordat hij het opslaat. Zo voorkom je dubbele namen.

En om de namen dan eventueel kort te houden (als de naam niets hoeft te betekenen), kun je de naam ook nog
hashen en dan opslaan.

Met adler32, crc32 of crc32b krijg je een output van 8 karakters.

Dus als voorbeeld.

Originele naam: Afb001.jpg
Met random nummer: 492381739Afb001.jpg
Nadat de random nummer+naam is gehashed: 857d39f7.jpg
Gewijzigd op 04/05/2012 08:00:15 door Chris PHP
 
Erwin H

Erwin H

04/05/2012 08:31:28
Quote Anchor link
Opvallend hoe vaak mensen 'random' gebruiken, als ze iets unieks nodig hebben. Een random nummer hier toevoegen voegt niets functioneel toe en lost niets op. In elk geval in theorie heb je nog steeds hetzelfde probleem. De enige juiste oplossing wat mij betreft is het compleet vervangen van de naam door een uniek nummer. Gelukkig kan dat bijzonder eenvoudig met behulp van de auto increment van mysql. Elke keer dat er een bestand geupload wordt voer je een record in, lees je het id uit en vervang je de bestandsnaam. Waarom moeilijk doen als het gewoon zo makkelijk kan.
 
Chris PHP

Chris PHP

04/05/2012 08:35:50
Quote Anchor link
@Erwin H:

In mijn 'optie' wordt de complete naam vervangen, ik zie het probleem niet.

En 'random' kan random zijn en zo gemaakt worden dat het niet 2x dezelfde nummers genereerd.

ID's koppelen kan ook uiteraard, er zijn meer wegen die naar Rome leiden en ieder heeft zo z'n eigen voorkeur.

Hij kan ook alle uploads in een queue gooien en deze vervolgens eerst met de hand een andere naam geven.
Gewijzigd op 04/05/2012 08:38:34 door Chris PHP
 
Erwin H

Erwin H

04/05/2012 09:06:26
Quote Anchor link
@chris
Nee, de hele naam wordt niet vervangen, je voegt een random waarde toe. Daarmee behoud je de mogelijkheid dat je tweemaal dezelfde uitkomst krijgt. Voorbeeld:
Bestandsnaam: 1.jpg
Randomwaarde: 123

Bestandsnaam: 31.jpg
Randomwaarde: 12

Dit levert dezelfde uitkomst op in jouw manier. En het ergste hier is dat als dit gebeurt het eigenlijk nooit meer te traceren is. Het oude bestand verdwijnt gewoon.

En een random waarde alsmog uniek maken helpt hier ook niet. De waardes in het voorbeeld zijn uniek en toch levert het problemen op.

Dus nogmaals, gebruik iets unieks, niet random en vervang de hele bestandsnaam dan ben je direct van het hele probleem af.
 
Chris PHP

Chris PHP

04/05/2012 09:30:45
Quote Anchor link
Erwin H op 04/05/2012 09:06:26:
@chris
Nee, de hele naam wordt niet vervangen, je voegt een random waarde toe. Daarmee behoud je de mogelijkheid dat je tweemaal dezelfde uitkomst krijgt. Voorbeeld:
Bestandsnaam: 1.jpg
Randomwaarde: 123

Bestandsnaam: 31.jpg
Randomwaarde: 12

Dit levert dezelfde uitkomst op in jouw manier. En het ergste hier is dat als dit gebeurt het eigenlijk nooit meer te traceren is. Het oude bestand verdwijnt gewoon.

En een random waarde alsmog uniek maken helpt hier ook niet. De waardes in het voorbeeld zijn uniek en toch levert het problemen op.

Dus nogmaals, gebruik iets unieks, niet random en vervang de hele bestandsnaam dan ben je direct van het hele probleem af.


Uhmmm..... Waarom 'genereer' je eerst 3 cijfers en in e tweede voorbeeld maar 2 cijfers? Zo lust ik er ook nog wel een paar ja. Je kunt makkelijk een 'generator' schrijven die bijv. continu 8 random cijfers genereerd, en niet dan 3 dan 8 dan 1.

Om de kans nog kleiner te maken voor een dubbele genereer je 20 cijfers, want gelijk na de nieuwe gegenereerde naam (nummer+naam) hash je de naam en krijg je een unieke naam van 8 karakters.
 
Erwin H

Erwin H

04/05/2012 09:38:45
Quote Anchor link
Als jij een gewone random generator gebruikt (rand in php) dan genereer je een getal, niet een aantal characters. Dus het aantal cijfers dat je krijgt is niet constant.

Uiteraard kan je het allemaal anders doen.... maar het enige nut ervan is om een UNIEKE uiteindelijke uitkomst te krijgen. Daar ben je namelijk naar op zoek. Dus blijft mijn allereerste punt staan, waarom begin je dan met random, en niet meteen gewoon met iets unieks. Ben je direct van alle gezeur af. Tenzij het verschil tussen random en uniek nog steeds niet duidelijk is natuurlijk...

Chris NVT op 04/05/2012 09:30:45:
Om de kans nog kleiner te maken

Om de kans nul te maken gebruik je dus gewoon direct een uniek getal. Niet random dus.
Leg me nu eens uit waarom je strak vast blijft houden een random iets terwijl je je daarna in allerlei bochten moet wringen om dat dan weer uniek te maken? Klinkt mij nog steeds niet logisch in de oren.
 
Gerhard l

gerhard l

04/05/2012 09:42:00
Quote Anchor link
Gebruik bijv. de tijd functie van php, altijd uniek.
 
Chris PHP

Chris PHP

04/05/2012 09:42:34
Quote Anchor link
Erwin H op 04/05/2012 09:38:45:
Als jij een gewone random generator gebruikt (rand in php) dan genereer je een getal, niet een aantal characters. Dus het aantal cijfers dat je krijgt is niet constant.

Uiteraard kan je het allemaal anders doen.... maar het enige nut ervan is om een UNIEKE uiteindelijke uitkomst te krijgen. Daar ben je namelijk naar op zoek. Dus blijft mijn allereerste punt staan, waarom begin je dan met random, en niet meteen gewoon met iets unieks. Ben je direct van alle gezeur af. Tenzij het verschil tussen random en uniek nog steeds niet duidelijk is natuurlijk...

Chris NVT op 04/05/2012 09:30:45:
Om de kans nog kleiner te maken

Om de kans nul te maken gebruik je dus gewoon direct een uniek getal. Niet random dus.
Leg me nu eens uit waarom je strak vast blijft houden een random iets terwijl je je daarna in allerlei bochten moet wringen om dat dan weer uniek te maken? Klinkt mij nog steeds niet logisch in de oren.


Waar zeg ik dat rand karakters genereerd? Ik heb het over hash niet rand.

Waarom krijg ik mijn premie van de CZ niet terug als ik niets claim? Er zijn zoveel dingen die niet logisch zijn, dat betekent niet dat het niet toegepast hoeft te worden.

Ook hier leer je van, mocht je in de toekomst wel 'random' dingen nodig hebben of iets willen 'hashen' dan heb je al iets gemaakt en ken je de basis.

Toevoeging op 04/05/2012 09:44:10:

Gerhard l op 04/05/2012 09:42:00:
Gebruik bijv. de tijd functie van php, altijd uniek.


Juist dat gebruiken de meeste in combi met een 'random' maarja ik had van Erwin wel verwacht dat hij dat zou snappen.

Maar goed.
 
Erwin H

Erwin H

04/05/2012 09:54:31
Quote Anchor link
Chris NVT op 04/05/2012 09:42:34:
Waar zeg ik dat rand karakters genereerd? Ik heb het over hash niet rand.

nu begrijp ik je echt niet meer. In je eerste voorbeeld geef je dit:
Quote:
Originele naam: Afb001.jpg
Met random nummer: 492381739Afb001.jpg
Nadat de random nummer+naam is gehashed: 857d39f7.jpg

Ik zie daar dus een random nummer. Als dat gewoon gegenereerd is met rand van php dan kan dat 1 opleveren, of 1282347, maar geen 000001. Daar doel ik dus op. Daarmee kan je dus dezelfde uitkomsten krijgen, zelfs als je die random waarde uniek weet te krijgen.
Chris NVT op 04/05/2012 09:42:34:
Juist dat gebruiken de meeste in combi met een 'random' maarja ik had van Erwin wel verwacht dat hij dat zou snappen.

In de eerste plaats heb jij hierboven het nog nergens over een tijd gehad, dus als je daar op doelt wil ik je vragen voortaan iets duidelijker te zijn. Ten tweede begrijp ik dan nog steeds niet waarom je een random waarde eraan wilt toevoegen en mijn vraag om je redenering erachter te geven blijft dus staan. Waar je namelijk naar op zoek bent is iets unieks, niet random.
 
Chris PHP

Chris PHP

04/05/2012 10:04:32
Quote Anchor link
Erwin H op 04/05/2012 09:54:31:
Chris NVT op 04/05/2012 09:42:34:
Waar zeg ik dat rand karakters genereerd? Ik heb het over hash niet rand.

nu begrijp ik je echt niet meer. In je eerste voorbeeld geef je dit:
Quote:
Originele naam: Afb001.jpg
Met random nummer: 492381739Afb001.jpg
Nadat de random nummer+naam is gehashed: 857d39f7.jpg

Ik zie daar dus een random nummer. Als dat gewoon gegenereerd is met rand van php dan kan dat 1 opleveren, of 1282347, maar geen 000001. Daar doel ik dus op. Daarmee kan je dus dezelfde uitkomsten krijgen, zelfs als je die random waarde uniek weet te krijgen.
Chris NVT op 04/05/2012 09:42:34:
Juist dat gebruiken de meeste in combi met een 'random' maarja ik had van Erwin wel verwacht dat hij dat zou snappen.

In de eerste plaats heb jij hierboven het nog nergens over een tijd gehad, dus als je daar op doelt wil ik je vragen voortaan iets duidelijker te zijn. Ten tweede begrijp ik dan nog steeds niet waarom je een random waarde eraan wilt toevoegen en mijn vraag om je redenering erachter te geven blijft dus staan. Waar je namelijk naar op zoek bent is iets unieks, niet random.


Quote alsjeblieft een stukje waar ik rand gebruik.

Dit is een help forum, ik kan natuurlijk ook gewoon alles voorkauwen en hier uitspugen. Echter hier leert men niets van, we geven tips, ideeen, advies en soms idd 'voorbeeld' code.

Met een beetje logisch denken kom je een heel eind.

Quote:
I couldn't find a suitable random alpha-numeric generator function so I rolled my own. It gives a random number in base 36 (0-9, a-z) to a given length.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
function randomAlphaNum($length){

    $rangeMin = pow(36, $length-1); //smallest number to give length digits in base 36
    $rangeMax = pow(36, $length)-1; //largest number to give length digits in base 36
    $base10Rand = mt_rand($rangeMin, $rangeMax); //get the random number
    $newRand = base_convert($base10Rand, 10, 36); //convert it
    
    return $newRand; //spit it out

}
?>


hopefully helps someone


Source is de rand() PHP.net pagina.

Je kunt dus vrij makkelijk een fixed aantal nummers genereren met rand.
 
Erwin H

Erwin H

04/05/2012 10:10:41
Quote Anchor link
Prima, ik ben het met je eens dat je dus een random waarde kunt genereren met een bepaald aantal karakters. Maar het blijft dus zo zijn dat het nummer dat je nu genereert en dat je volgende week genereert gelijk kan zijn. Als Pietje dus vandaag test.jpg upload en Jantje een ander bestand, maar met dezelfde naam test.jpg upload dan kunnen ze dus hetzelfde random getal krijgen. Dat betekent dus dat je uiteindelijk dezelfd random waarde + filenaam kunt krijgen en dus in de problemen kan komen. Dat is mijn hele punt.

Uiteraard kan je dan weer naar een manier zoeken om ervoor te zorgen dat dat nummer alsnog (min of meer) uniek wordt, maar waarom zou je? Je hebt al een 100% zeker unieke waarde en dat is je id in de database. Waarom dat niet gewoon gebruiken?

Dus Chris, alsjeblieft, leg me nu eens uit waarom je strak blijft vast houden aan het gebruik van een random waarde terwijl je op zoek bent naar iets unieks.
 
Chris PHP

Chris PHP

04/05/2012 10:18:07
Quote Anchor link
Erwin H op 04/05/2012 10:10:41:
Prima, ik ben het met je eens dat je dus een random waarde kunt genereren met een bepaald aantal karakters. Maar het blijft dus zo zijn dat het nummer dat je nu genereert en dat je volgende week genereert gelijk kan zijn. Als Pietje dus vandaag test.jpg upload en Jantje een ander bestand, maar met dezelfde naam test.jpg upload dan kunnen ze dus hetzelfde random getal krijgen. Dat betekent dus dat je uiteindelijk dezelfd random waarde + filenaam kunt krijgen en dus in de problemen kan komen. Dat is mijn hele punt.

Uiteraard kan je dan weer naar een manier zoeken om ervoor te zorgen dat dat nummer alsnog (min of meer) uniek wordt, maar waarom zou je? Je hebt al een 100% zeker unieke waarde en dat is je id in de database. Waarom dat niet gewoon gebruiken?

Dus Chris, alsjeblieft, leg me nu eens uit waarom je strak blijft vast houden aan het gebruik van een random waarde terwijl je op zoek bent naar iets unieks.


Dus jij wil zeggen dat als ik een nummer genereer van 20 cijfers (gebruik makend van tijd/datum optie in PHP) de kans groot 'genoeg' is dat dit nummer dubbel voor gaat komen? Als je dit echt gelooft, dan voeg je toch een 'random' pepper & salt toe hoe groot is de kans nu?

Ik zeg nergens dat jou optie om de ID (unique increment) te gebruiken niet een valide oplossing is wel dan? Ik gaf alleen aan dat er ook andere manieren zijn, waarom kun je dat niet inzien?

Ik zeg nergens dat hij voor mijn optie noch voor jou optie moet gaan, hij moet gaan voor de optie die hem het beste ligt zo simpel.
Gewijzigd op 04/05/2012 10:21:05 door Chris PHP
 
Erwin H

Erwin H

04/05/2012 10:25:12
Quote Anchor link
Chris,
Iedereen moet gewoon de oplossing gebruiken die ze willen. Jij, ik, de TS. Het is mijn perfectionisme dat ik een oplossing die 'in de meeste gevallen goed gaat' niet als een echte oplossing kan zien. En al helemaal niet als er een goede oplossing te bedenken valt die ook nog eens veel korter en sneller is.

Wat ik alleen nog steeds hoop is dat je me kan uitleggen waarom je naar random grijpt als je uniek bedoelt. Dit is waarschijnlijk ijdele hoop, maar toch. Ik zie dit namelijk veel gebeuren wat regelmatig ook tot zeer ongewenste situaties leidt. Ik hoopte nu eens van iemand te kunnen horen waarom, maar blijkbaar wil je dat niet zeggen. Jammer.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.