Upload scriptje
Pagina: « vorige 1 2 3 volgende »
Welke code heb je nu, en wat gaat er fout? Kan je misschien wat concreter zijn?
nou ik ben steeds opnieuw begonnen van het bestaande skript en vanuit daar dingen geprobeerd... en als het fout ging... weer clean en dan wat anders proberen... dus heb niet echt een andere versie...
http://www.phphulp.nl/php/forum/topic/upload-scriptje/98165/1/#706022
Alleen nog even een unieke naam verzinnen voor de uploads.
Gewijzigd op 29/06/2015 22:27:23 door - Ariën -
dit is de code die ik nu aan het gebruiken ben ... het probleem is dat deze files vervangt... dus het idee was dat er indien bestaand, er een 1-tje achter de naam gezet wordt...
Komt er feitelijk op neer dat je $sometarget de juiste map/bestandsnaam moet geven.
ik heb telkens ruzie met de " en ' dingetjes en gewoon syntax fouten...
Gewijzigd op 29/06/2015 22:39:36 door Sander Jansen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
// A list of permitted file extensions
$allowed = array('png', 'jpg', 'gif');
if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){
$extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);
if(!in_array(strtolower($extension), $allowed)){
echo '{"status":"error"}';
exit;
}
$counter = 1;
$sometarget= 'uploads/'.$_FILES['upl']['name'];
$target = $sometarget;
while(file_exists($sometarget)) {
$sometarget = $target . $counter;
$counter++;
}
if(move_uploaded_file($_FILES['upl']['tmp_name'], $sometarget)){
echo '{"status":"success"}';
} else {
echo '{"status":"error"}';
exit;
}
}
echo '{"status":"error"}';
exit;
?>
// A list of permitted file extensions
$allowed = array('png', 'jpg', 'gif');
if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){
$extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);
if(!in_array(strtolower($extension), $allowed)){
echo '{"status":"error"}';
exit;
}
$counter = 1;
$sometarget= 'uploads/'.$_FILES['upl']['name'];
$target = $sometarget;
while(file_exists($sometarget)) {
$sometarget = $target . $counter;
$counter++;
}
if(move_uploaded_file($_FILES['upl']['tmp_name'], $sometarget)){
echo '{"status":"success"}';
} else {
echo '{"status":"error"}';
exit;
}
}
echo '{"status":"error"}';
exit;
?>
bedankt voor de moeite :)
Lijn 20: $counter en $target omwisselen.
ik heb gedaan:
van:
$sometarget = $target . $counter;
naar:
$sometarget = $counter . $target;
Gewijzigd op 30/06/2015 00:35:05 door Sander Jansen
Gewijzigd op 30/06/2015 00:36:40 door - Ariën -
$pad = explode(" ", $sometarget);
$sometarget = $counter . $pad;
ahhh volgens mij klopt er helemaal niks van... ik moet echt eens php op gaan pakken... sorry -.-
Gewijzigd op 30/06/2015 00:58:30 door - Ariën -
voor hoe ik het script lees, is $sometarget en $target het zelfde... en in welke volgorde dan het pas en de bestandsnaam erin staan en onderscheiden worden ... geen idee...
Zo weet je precies hoe de structuur opgebouwd wordt.
en het helpt niet echt dat ik wel basic ken... veel dingen komen overeen met php qua standaard dingen zoals variablen en if, then, when enzo... maar zodra het specifieken php dingen worden dan ben ik echt de draad kwijt...
Gewijzigd op 30/06/2015 01:09:17 door Sander Jansen
Zet eerst eens op een rijtje wat de waardes van de variabelen zijn. ;-)
$_files \\idere losse upload file?
$extension \\ de extensie van de file
$counter \\ het volgnummer indien nodig
$sometarget \\het doel pad en de bestandsnaam
$target \\gelijk aan $sometarget?
wanneer bestaand:
$sometarget \\ wordt $target (pad+naam) + $counter (volgnummer)
$counter \\ indien nodig +1
zoiets?
foto.jpg bestaat > foto.jpg1
bestaat ook, dus foto.jpg11
etc
dus je moet even vasthouden wat de eerste naam is die je script wil gebruiken.
zie ook http://php.net/pathinfo om de filename en het path uit elkaar te trekken zonder te exploden.
$filename = $path['filename'];
$sometarget = $filename . $counter;
iets in deze richting?