PHP限制后重命名文件

时间:2016-02-28 20:07:32

标签: php limit file-rename

我想创建一个php脚本,当图像文件夹有30个图像时,下一个上传的图像变成1.JPEG,其余的上升一个但是30.JPEG的图像被删除,因为有30个图像限制。这甚至可以做到吗? 这是我到目前为止所尝试的,但它给出了意想不到的“;”错误

<?php
 if(isset($_FILES['image'])){
   $errors= array();
   $file_name = $_FILES['image']['name'];
   $file_size = $_FILES['image']['size'];
   $file_tmp = $_FILES['image']['tmp_name'];
   $file_type = $_FILES['image']['type'];
   $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));

   $expensions= array("jpeg","jpg","png");

   if(in_array($file_ext,$expensions)=== false){
     $errors[]="extension not allowed, please choose a JPEG or PNG file.";
   }

   if($file_size > 2097152) {
      $errors[]='File size must be excately 2 MB';
   }
  for ($file_tmp = 29; $i > 0; $i--)
 for ($i = 29; $i > 0; $i--)
 {
 if (file_exists($file_tmp.".jpg");
     rename($file_tmp.".jpg",($file_tmp+1).".jpg");
 }      
  if(empty($errors)==true) {
     move_uploaded_file($file_tmp,"images/".$file_name);
     echo "Success";
  }else{
     print_r($errors);
      }
   }
?>

1 个答案:

答案 0 :(得分:3)

我会这样做:

for ($i = 29; $i > 0; $i--)
{
    if (file_exists($i.".jpg");
         rename($i.".jpg",($i+1).".jpg");
}

现在将新文件另存为“1.jpg”。

我相信你可以很快找到类似的解决方案。