我如何给图片一个随机的名字,而不是在上传时取图片当前的名字?
if(file_exists('folder/' . $_FILES['file']['name'])){
echo "Change ImageName<br> ";
}
else {
move_uploaded_file($_FILES['file']['tmp_name'],'folder/' . $_FILES['file']['name']);
$q = mysqli_query($con, "UPDATE users SET date=now(), image = '".$_FILES['file']['name']."' WHERE username= '$id'");
}
如果你不关心原始名称,你可以使用uniqid生成一个唯一的文件名。
$newFileName = uniqid('uploaded-', true)
. '.' . strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
move_uploaded_file($_FILES['file']['tmp_name'], 'folder/' . $newFileName);
$q = mysqli_query($con, "UPDATE users SET date=now(), image = '".$newFileName."' WHERE username= '$id'");
请参阅StackOverflow生成(伪)随机字母数字字符串以帮助您生成随机名称,然后将$\u文件['file']['name']
替换为新生成的名称加上'。jpg'代码>
丹尼尔的回答在我看来相当圆滑。