I have create a multiple file upload functionality in PHP. when i try to upload files i select 15 files at a time when request is processed only first four files are stored in db and all 15 files are uploaded in directory every time.
i have also checked the PHP.ini file the max file upload limit is 50 pre request and post max size is 5M. still cnt find any solution to the problem.
why record is saved forfirst four file only.
if($_POST['submit']== 'Upload_picture')
{
//echo "<pre>"; print_r($_FILES['upload_picture']['name']);
//die;
$album_title = $_GET['name'];
$album_id = $_GET['album'];
$album_dir = "../images/album/$album_title/"; #album path root directory
$db_album_dir = "images/album/$album_title/"; #batadase album path root directory
$error = array();
$extension = array('jpg','gif','png','jpeg');
foreach($_FILES['upload_picture']['tmp_name'] as $key => $tmp_name){
$file_name = $_FILES['upload_picture']['name'][$key];
$file_tmp = $_FILES['upload_picture']['tmp_name'][$key];
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
$new_filename = rand().".".$ext; #changing name
if(in_array($ext,$extension))
{
if(move_uploaded_file($file_tmp= $_FILES['upload_picture']['tmp_name'][$key],"$album_dir$new_filename"))
{
# insert record database
$values = [
'album_id' =>$album_id,
'image_name' => $new_filename,
'album_name' => $album_title,
'image_path' => $db_album_dir.$new_filename,
'uploaded_date' => date("Y/m/d h:i:s a")
];
include_once "action_page.php";
$tablename = 'album_picture';
$abc = new Demo();
$res = $abc->insert($tablename,$values);
unset($abc);
$_SESSION['upload_success'] = "Files Uploaded succesfully";
header("location:../upload_album.php?album=$album_id&name=$album_title");
}
else
{
$_SESSION['upload_error'] = "Something went wrong, files cannot be uploaded";
}
}
else
{
$_SESSION['upload_warning'] = "Please upload file";
header("location:../upload_album.php?album=$album_id&name=$album_title");
}
}//EOF FROEACH