如何使用预定义的自定义名称上传图像/

时间:2012-04-19 13:44:06

标签: php upload avatar

让我解释一下我希望能够实现的目标:

我想允许我的用户将图片上传为头像。

我发现了许多php上传教程,但我不知道如何将头像上传为/ avatars文件夹中的user_id.ext。

我希望我很清楚,谢谢。

2 个答案:

答案 0 :(得分:1)

在任何上传脚本中,您都需要完成几个基本步骤。首先,您从$ _FILES获取数据,告诉您临时上载文件的位置。您根据某些内容验证文件,以确保它不是恶意/恶意/错误。然后重命名它并将其移动到有用的地方。在最后一步中,当您将图像移动到它的位置时,请抓住机会根据需要命名文件。如果您正在处理用户的帐户,那么获取用户名,ID,中间名等应该是微不足道的,并使用它来设置文件的名称。

答案 1 :(得分:0)

此脚本获取上传的文件,并将其保存为从POST检索到的/avatars/$user_id.ext$user_id

<?php
if ($_FILES["file"]["error"] > 0) {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
} else {
    move_uploaded_file($_FILES["file"]["tmp_name"], "/avatar/{$_POST['user_id']}.ext");
    echo "Stored in: " . "/avatar/{$_POST['user_id']}.ext";

}    
?>

这就是形式:

<form method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="hidden" name="user_id" value="<?php echo $user_id ?>">
<input type="submit" value="submit"></form>