为上传的图像添加随机数前缀

时间:2018-01-07 05:08:52

标签: php mysql sql

我想在上传图片的正面添加一个3位数的随机数

if(isset($_POST['submit'])!=""){
  $name=$_FILES['photo']['name'];
  $size=$_FILES['photo']['size'];
  $type=$_FILES['photo']['type'];
  $temp=$_FILES['photo']['tmp_name'];
  $random = rand(000,999);
  $date = date('Y-m-d H:i:s');

  move_uploaded_file($temp,"files/".$name);

$query=$DBcon->query("INSERT INTO upload (name,date) VALUES ('$name','$date')");
    if($query){
        header("location:index.php");
    }
    else{
        die(mysql_error());
    }
}

3 个答案:

答案 0 :(得分:0)

而不是:

move_uploaded_file($temp,"files/".$name);

这样做:

move_uploaded_file($temp,"files/".$name.$random);

答案 1 :(得分:0)

winrm delete winrm/config/Listener?Address=*+Transport=HTTP
winrm create winrm/config/Listener?Address=*+Transport=HTTP

答案 2 :(得分:0)

您希望在文件名前面使用 3位随机数。用于生成您使用的随机数:

$random = rand(000,999);

上述语句会在0999之间生成随机数,这意味着并非所有生成的随机数都是 3位数

您需要将0的随机数填充到所需的长度。

$random = rand(000,999);
$random = str_pad($random, 3, '0', STR_PAD_LEFT);

要在文件名中使用此随机数,请将其添加到文件名中,如下所示。

$name = $random.$name;

您完成的代码应该如下所示。

if(isset($_POST['submit'])!=""){
  $name=$_FILES['photo']['name'];
  $size=$_FILES['photo']['size'];
  $type=$_FILES['photo']['type'];
  $temp=$_FILES['photo']['tmp_name'];
  $random = rand(000,999);
  $random = str_pad($random, 3, '0', STR_PAD_LEFT);
  $name = $random.$name;
  $date = date('Y-m-d H:i:s');

  move_uploaded_file($temp,"files/".$name);

$query=$DBcon->query("INSERT INTO upload (name,date) VALUES ('$name','$date')");
    if($query){
        header("location:index.php");
    }
    else{
        die(mysql_error());
    }
}