dqj96395 2016-06-18 20:12
浏览 16

php更改头像/重复图像错误

I have a code to set members avatar / profile picture. works great, but just discovered it has an error when uploading pictures with same name as already existing file. How can i change the file name if it already exists? like a random MD5 string or something. Doesn't really mather as long as each string would be unique.

<?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'];
      $tmp = explode('.', $file_name);
      $file_ext = end($tmp);

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

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

      if($file_size > 2097152){
         $errors[]='File size must be excately 2 MB';
      }

      if(empty($errors)==true){
         move_uploaded_file($file_tmp,"images/uploads/".$file_name);
         echo "Success";
         //sets avatar
         $sql = "UPDATE users SET avatar = '$file_name' WHERE id = '$id'";
         $db->query($sql);
      }else{
         print_r($errors);
    }
   }
?>
<form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit" class="normal-btn" value="Upload"/>
    <a class="button2 fa fa-times" href="/profiles/remove-avatar.php"><div class="font">Remove</div></a>
</form>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
    • ¥20 软件测试决策法疑问求解答
    • ¥15 win11 23H2删除推荐的项目,支持注册表等
    • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
    • ¥15 qt6.6.3 基于百度云的语音识别 不会改
    • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
    • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
    • ¥15 lingo18勾选global solver求解使用的算法
    • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
    • ¥20 测距传感器数据手册i2c