Ik ga er vanuit dat het werkt. Probeer het eens zou ik zeggen.
Link gekopieerd
Ik heb nu dit maar het probleem is dat de couter ++ niet werkt... hij vervangt de "+1" file...
en ja ik weet het... het is vast een puinhoop en kan veel netter :P ban al lang blij dat ik het zover geregeld kon krijgen
<?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)) {
$path = pathinfo($sometarget);
$filename = $path['filename'];
$dirname = $path['dirname'];
$extension = $path['extension'];
$sometarget = $filename . $counter;
$counter++;
$sometargetfull = $dirname . "/" . $sometarget . "." . $extension;
}
if(move_uploaded_file($_FILES['upl']['tmp_name'], $sometargetfull)){
echo '{"status":"success"}';
} else {
echo '{"status":"error"}';
exit;
}
}
echo '{"status":"error"}';
exit;
?>
Link gekopieerd
- Ariën -
30-06-2015 12:55
gewijzigd op 30-06-2015 12:55
Dus hij moet feitelijk oneindig kunnen doortellen?
Dus image_huis1.jpg, image_huis2.jpg, image_huis3.jpg etc?
Link gekopieerd
het probleem is, dat vooraf (voor regel 19) $sometarget een compleet naar een file bevat.
Een paar regels verder vervang je dat door allen de filename (zonder path en zonder extensie), maar met een getalletje.
Op regel 26 introduceer je $sometargetfull.
Dat is overbodig, en ook ongewenst, want $sometarget is nu nog steeds zijn path en extensie kwijt.
als /local/path/op/server/file.txt bestond, dan zal "file1" niet bestaan. (want geen path en geen extensie.
Kortom: weg met $sometargetfull...
Link gekopieerd
<?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);
$basename = pathinfo($_FILES['upl']['name'], PATHINFO_BASENAME);
if(!in_array(strtolower($extension), $allowed)){
echo '{"status":"error"}';
exit;
}
$targetdir = 'uploads/';
$counter = 1;
$sometarget = $basename;
while(file_exists($targetdir.$sometarget.'.'.$extension)) {
$sometarget = $basename . $counter;
$counter++;
}
if(move_uploaded_file($_FILES['upl']['tmp_name'], $targetdir.$sometarget.'.'.$extension)){
echo '{"status":"success"}';
} else {
echo '{"status":"error"}';
exit;
}
}
echo '{"status":"error"}';
exit;
?>
Link gekopieerd
bedankt, ben blij dat het eindelijk werkt :)
Link gekopieerd
Maar begrijp je het nu ook?
Link gekopieerd
ongeveer... maarjah dat is alleen als ik het lees... het schrijven is een ander verhaal... maar wil het wel serieus gaan op pakken... maar dan vanaf het begin beginnen... want hier zitten functies en commandos in die ik niet ken... en als ik ga kijken bij de uitleg worden er weer andere gebruikt die ik niet ken... dus het is een beetje moeilijk om er midden in te duiken... maar ga er zeker wat mee doen :)
Link gekopieerd