Door
Robin stek
op 26-09-2019 14:13
gewijzigd op 26-09-2019 15:11
2.914 views
Hallo allemaal,
ik Ben robin 22 jaar oud en net begonnen met programmeren vandaar dat ik hier even een kijkje neem.
Ik heb meteen een vraagje ik moet ervoor zorgen dat er een random folder word gemaakt(in het mapje vierkant) bij elke keer als ik een foto upload (door 1 persoon) alleen nu is het zo dat de folder wordt gemaakt en dat de foto word opgeslagen alleen niet op de juiste manier. want de folder en foto komen naast elkaar en de bedoeling is dat de foto in het mapje komt die op dat moment ook wordt gemaakt. kan iemand me hiermee helpen?
$foldername = uniqid();
echo $foldername;
$destination = "vierkant/$foldername";
//The name of the directory that we need to create.
//Check if the directory already exists.
if(!is_dir($destination)){
//Directory does not exist, so lets create it.
mkdir($destination, 0755, true);
}
de bedoeling is nu dat ik alleen de foto kan echo'n maar op het moment pakt hij heel de array en moet alleen de fotonaam heb hier een foto https://www.mupload.nl/img/t2phib7.png
..
print_r kun je inderdaad onder andere gebruiken om een complete array te bekijken. Zoals ik het op de foto zie heeft de array telkens twee elementen namelijk 0 en 1.
Deze kun je er als volgt uitvissen:
<?php
echo $_FILES['file']['name'][1];
?>
print_r kun je inderdaad onder andere gebruiken om een complete array te bekijken. Zoals ik het op de foto zie heeft de array telkens twee elementen namelijk 0 en 1.
Deze kun je er als volgt uitvissen:
<?php
echo $_FILES['file']['name'][1];
?>
gelukt bedankt!
[size=xsmall]Toevoeging op 02/10/2019 11:34:29:[/size]
Nu ga je er vanuit dat de array alleen 0 en 1 bevat. Je zult dan ook moeten controleren of ze gevuld zijn. Anders zal echo $_FILES['file']['name'][1]; falen als je maar 1 bestand upload. Als je 3 bestanden upload zal de derde niet worden weergegeven. Het is altijd makkelijk om het dynamisch te houden, zodat je evt ook kan uitbreiden naar meerdere uploads.
Het wandelen door een array doe je met een for loop of foreach.
<?php
foreach($_FILES['file']['name'] as $file) {
echo $file;
}
?>
Het eerdere antwoord van Frank is nog eenvoudiger. Gewoon de echo uitvoeren in de for loop.
<?php
for ($i = 0; $i < count($_FILES['file']['name']); $i++) {
move_uploaded_file(
$_FILES['file']['tmp_name'][$i],
$destination . '/' . $_FILES['file']['name'][$i]
);
echo $destination . '/' . $_FILES['file']['name'][$i];
}
?>
ik ben op het moment bezig met de foreach als iemand me kan helpen zou dat top zijn :)
ik moet met de code het volgende maken:
// maak een foreach loop die over $upload_files loopt
// en elke iteratie moet ie over de functie runnen.
// de ecircles moeten komen in een mapje die "circles/JE_UNIEKE_NAAM" heet.
//toCircle('pad_van_het_bestand hier komt dus mapjes vierkant', 'waar_het_circle_bestand_moet_komen,png hier komt dus mapje circle ', 450);
// 2. Deze door de functie die in helpers staat runnen.
Ten eerste moet je natuurlijk zelf je huiswerk maken ;-)
Ten tweede, wie heeft die tekst geschreven? Circles en vierkant? Wil je nou Nederlands of Engels.
Ik had al eerder een voorbeeld gegeven van een foreach.
Je kunt elke functie opzoeken op php.net www.php.net/foreach