files opslaan zonder zelfde naam.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

Traineeship Fullstack developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

SQL beheerder / ontwikkelaar

Functie omschrijving Voor een klant in omgeving Tiel zijn wij op zoek naar een SQL beheerder met affiniteit met technisch applicatiebeheer. Je krijgt een fijne in-house werkplek waar je gaat werken aan diverse projecten. Dit bedrijf doet het beheer van databases voor een aantal bancaire klanten. Op dit momenten hebben zij ruim 1500 databases in beheer. Jouw werkzaamheden gaan er als volgt uit zien: Je gaat de development afdeling ondersteunen bij het ontwikkelen van MS SQL Scripts. Je zal zowel zelfstandig als in teamverband MS SQL databases installeren & beheren. Je monitort en onderzoekt incidenten en de achterliggende oorzaken. Je

Bekijk vacature »

PHP Developer

Dit ga je doen Je werkt nauw samen met het websitebureau aan de ontwikkeling en optimalisering van het internationale platform; Je ziet nieuwe webshops op en voert optimalisaties door; Je bouwt aan technische, functioneel en commercial resultaat; Je vindt het leuk om zelfstandig binnen een internationale organisatie te werken, maar krijgt ook energie om samen met collega's te werken. Hier ga je werken Voor een bedrijf in de regio Rotterdam zijn wij opzoek naar een PHP Developer. Je wordt onderdeel van het communicatieteam en gaat je bezighouden met het optimaliseren van de website van dit internationale bedrijf. Je schakelt veel

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Senior pega developer

You work on software that makes colleagues and customers happy! Thanks to your IT skills, De Mandemakers Groep really makes a difference for its customers. Do coding, testing and deployments make your heart beat faster? Then apply today as Senior Pega Developer at De Mandemakers Groep! Wat ga je doen? The job title gives it away: You will be developing Pega software. This ranges from technical design, coding and testing to test automation, deployments and bug fixing. Your goal is to continuously improve our systems so that colleagues can work efficiently and customers receive optimal service. You don't have to

Bekijk vacature »

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Senior SQR Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13333 Introductie Are you passionate about contributing to the world's most advanced machines. Do you thrive in a challenging environment working with highly motivated and skilled teams? If so, we have the perfect opportunity for you! We are seeking a Senior Software Design Engineer for Sequence Tooling to play a critical role in creating and maintaining mission-critical software applications. In this role, you will focus on achieving maintainable software architecture that is transparent and easy to extend while maintaining a strong focus on software quality. You will work closely with

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »

Senior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

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

18/01/2025 14:30:32
 
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.