我正在使用此代码上传多张图片。
我想如果我一次上传多张图片,那么它会发送1,2,3,4,5,如果我第二次上传6,7,8,9等等。
我不希望序列顺序自动递增,因为我需要根据需要进行更改。
<?php
if(isset($_FILES['files']))
{
$errors= array();$s=$i++;
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name )
{
$file_name = $key.$_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
if($file_size > 2097152)
{
$errors[]='File size must be less than 2 MB';
}
$desired_dir="user_data";
if(empty($errors)==true)
{
if(is_dir($desired_dir)==false)
{
// Create directory if it does not exist
mkdir("$desired_dir", 0700);
}
if(is_dir("$desired_dir/".$file_name)==false)
{
move_uploaded_file($file_tmp,"user_data/".$file_name);
}
else
{
//rename the file if another one exist
$new_dir="user_data/".$file_name.time();
rename($file_tmp,$new_dir) ;
}
//mysql_query($query);
}
else
{
print_r($errors);
}
// echo $file_name = $file_name.",";
$query="INSERT into upload_data (FILE_NAME,FILE_SIZE,FILE_TYPE,serial) VALUES('$file_name','$file_size','$file_type','$s'); ";
mysql_query($query);
}
if(empty($error))
{
echo "Success";
}
}
?>
答案 0 :(得分:0)
您至少有3个选项:
例如,我们使用$ _SESSION容器:
isset($_SESSION['img_count']) ? : $_SESSION['img_count']=0; //set the image counter for each session
move_uploaded_file($file_tmp,"user_data/".$file_name) ? $_SESSION['img_count'] ++ : ''; //update the counter ONLY when the file has been copied to your hard drive.
$query="INSERT into upload_data (FILE_NAME,FILE_SIZE,FILE_TYPE,serial) VALUES('$file_name','$file_size','$file_type','$_SESSION[img_count]')"; // insert it on the database.
您当然可以将相同的原则应用于javascript,以便每个用户的计算机处理这些数字,然后您只需要将它们包含在您正在使用的表单中。