I'm trying to upload multiple files (imgs) from a form and I want to get the count of the directory they will be uploaded to then rename them accordingly. 1.jpg, 2.jpg, 3.jpg and so on depending on how many are uploaded. The closest I've come is getting it to rename and upload first file.
<?php
$foldername = $_POST['stock'];
$path = 'vehicles/' . $foldername;
mkdir($path);
?>
<?php
$valid_formats = array("jpg", "png", "gif", "zip", "bmp");
$max_file_size = 10240*1000; //100 kb
$path = "vehicles/$stock/"; // Upload directory
$count = 0;
$directory = "vehicles/$stock/";
$filecount = 0;
$files = glob($directory . "jpg");
if ($files){
$filecount = count($files);
}
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
// Loop $_FILES to execute all files
foreach ($_FILES['files']['name'] as $f => $name) {
if ($_FILES['files']['error'][$f] == 4) {
continue; // Skip file if any error found
}
if ($_FILES['files']['error'][$f] == 0) {
if ($_FILES['files']['size'][$f] > $max_file_size) {
$message[] = "$name is too large!.";
continue; // Skip large files
}
elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
$message[] = "$name is not a valid format";
continue; // Skip invalid file formats
}
else{
// No error found! Move uploaded files
$ext = pathinfo($_FILES['files']['name'][$f], PATHINFO_EXTENSION);
$uniq_name = uniqid() . '.' .'jpg';
move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path . $uniq_name);
$count++; // Number of successfully uploaded file
}
}
}
}
?>