Witam,
napisałem - z dużymi trudnościami - poniższy uploader.
<?php
$valid_formats = array("jpg", "png"); $max_file_size = 1280*1024;
$path = "uploads/"; // Miejsce uploadu
$count = 0;
if(isset($_POST) and
$_SERVER['REQUEST_METHOD'] == "POST"){
foreach ($_FILES['files']['name'] as $f => $name) {
if ($_FILES['files']['error'][$f] == 4) {
continue; // Pomin jesli sa bledy
}
if ($_FILES['files']['error'][$f] == 0) {
if ($_FILES['files']['size'][$f] > $max_file_size) {
$message[] = "$name jest za duzy!.";
continue; // Nie dla duzych plikow
}
$message[] = "$name ma zly format";
continue; // Nie dla nie zdjec
}
else{ //Działa to działamy.
$count++; // ile sie udalo
}
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data"> <input type="file" id="file" name="files[]" multiple="multiple" accept="image/*" /> <input type="submit" value="Uploaduj!" />
Wszystko działa pięknie.
Ale teraz mam dodatkowy problem.
Chciałbym:
- ograniczyć liczbę plików do 10 zdjęć;
- zmieniać nazwy na niepowtarzalne ciągi znaków (np. rand() + md5());
- wstawić nazwy plików do tabeli (max 10 zdjęć, bo 10 kolumn na zdjęcia);
- dodać pasek postępu - mało istotne, ale by to poprawiło zrozumienie "mielenie" przy kliknięciu "Uploaduj!";
- generować miniaturkę, lub przynajmniej powielić wysłanie pierwszego zdjęcia (jako photo0 i thumbnail);
Tabela wygląda następująco
id | usr | productid | photo0 | photo1 | ... | photo5 | ... | photo9 | thumbnail | addeddate
Ten post edytował d0m1n1k_ 23.10.2014, 18:00:07