Hoi iedereen,
Ik ben voor een klant een upload systeempje aan het maken, dat hij 15 foto's tegelijk kan uploaden.
Nu heb ik hiervoor een for loop gebruikt zodat je geen 15x hetzelfde script krijgt.
Alleen komt er nu steeds rijen met foutmeldingen te staan, dus 15x foutmelding image1, 15x foutmelding 2 enz.
Er zit iets fout in de opbouw, want de if wordt steeds 15x uitgevoerd, en daarnaast de for 15x. De foutmelding die weergegeven moet wordt: Uploading image 'nummer ( t/m 15)' is mislukt. In plaats daarvan komt er fotobestand.jpg te staan. (zie bijlage)PHP Code:
for($p=1;$p<16;$p++)
{
if(isset($_FILES['image'.$p.'']['name']) and !empty($_FILES['image'.$p.'']['name']))
{
$x = strrchr($_FILES['image'.$p.'']['name'], ".");
$image.$p = mktime()+$p . $x;
//veilingheid
$mimetype_image = strtolower($_FILES['image'.$p.'']['type']);
if ((in_array($mimetype_image,$toegestane_mimetypes)) && (is_uploaded_file($_FILES['image'.$p.'']['tmp_name'])) && ($_FILES["image".$p.""]["size"] < $foto_size))
{
$target_path = $target_path . basename( $image.$p);
// File uploaden
move_uploaded_file($_FILES['image'.$p.'']['tmp_name'], $target_path);
}else{
echo'Uploading image '.$p.' is mislukt.<br />';
$image.$p = "";
}
}
}
Heb me al suf gestaard, maar zie de fout niet.
Hieronder mijn form code:
P.S Beveiliging zit er nog niet op, maar dat is niet mijn grootste prioriteit nu.PHP Code:
<?PHP
for($g=1;$g<16;$g++)
{
echo'Image '.$g.' (galerij):<br />
<input type="file" name="image'.$g.'" /><br />';
}
?>
- Upload script via for loop
-
14-03-2011, 14:23 #1
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Upload script via for loop
-
In de schijnwerper
Backlinks - Voor elke website!SEO/LinkbuildingVerhuur van particuliere vakantiehuizen in Nederland.Website te koopNieuwe affiliate website met potentie in de muziekbusiness te koopWebsite te koopZzp schrijvers gezocht - doorlopende opdracht linkbuilding artikelen (geen bureaus)Freelance / Werk -
14-03-2011, 14:37 #2
- Berichten
- 319
- Lid sinds
- 14 Jaar
Re: Upload script via for loop
Je hebt de IF statement binnen de loop staan dus die zal dan ook 15x worden uitgevoerd.
-
14-03-2011, 14:42 #3
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: Upload script via for loop
Dat klopt inderdaad. Maar nu vraag ik mij af als ik 15 input file wil submitten hoe ik dit met het if-statement moet doen. Als ik de if buiten de for zet, dan gaat het script niet 15x de bestanden nalopen en uploaden naar de ftp neem ik aan.
-
14-03-2011, 14:52 #4
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Upload script via for loop
Maak van de veldnaam <input type="file" name="upload[]" />
en werk vervolgens met; foreach($_FILES['upload'] as $upload) { }
binnen deze foreach kun je dan kijken of er een waarde is en de upload eventueel uitvoeren.
-
14-03-2011, 14:58 #5
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: Upload script via for loop
Thanx Joshua, ga hier vanmiddag even mee klooien!
Je hoort van me of het gelukt is.
-
14-03-2011, 15:50 #6
- Berichten
- 587
- Lid sinds
- 16 Jaar
Re: Upload script via for loop
Waarom niet gewoon SWFUploader gebruiken? (Hier kan je meerdere files tegelijkertijd selecteren i.p.v. 15x één enkele file te selecteren...)
-
14-03-2011, 19:18 #7
- Berichten
- 750
- Lid sinds
- 16 Jaar
Re: Upload script via for loop
Dat script niet op een live server gebruiken erg onveilig.
Checks op minetypes is erg link aangezien de http headers aangepast kunnen worden zodat men php bestanden kunnen uploaden
-
14-03-2011, 20:16 #8
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: Upload script via for loop
En je target_path wordt ook telkens langer op deze manier. Beter om even iets zoals
$basepath = '/a/b/c/';
for (...) {
$target_path = $basepath . basename (...);
....
}
te gebruiken.
-
14-03-2011, 20:39 #9
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: Upload script via for loop
Zoals ik had aangegeven heb ik hier nog geen beveiliging in verwerkt, dit was ook niet de issue van het probleem.
Het probleem heb ik op kunnen lossen met:
PHP Code:while(list($key,$value) = each($_FILES['image']['name']))
{
if(!empty($value))
{
}
}
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic