让我解释什么,我希望acomplish:如何将PHP上传图像与预定义的自定义名称/
我希望让我的用户在上传图片作为头像。
我发现了很多php上传教程,但我不知道如何将头像上传到/ avatars文件夹中的user_id.ext。
我希望我很清楚,谢谢。
让我解释什么,我希望acomplish:如何将PHP上传图像与预定义的自定义名称/
我希望让我的用户在上传图片作为头像。
我发现了很多php上传教程,但我不知道如何将头像上传到/ avatars文件夹中的user_id.ext。
我希望我很清楚,谢谢。
在任何上传脚本中,您都需要经过几个基本步骤。首先,您从$ _FILES获取数据,告诉您临时上传文件的位置。您基于某些内容验证文件以确保它不是邪恶/恶意/错误。然后你重命名它并将它移到某个有用的地方。在最后一步中,当您将图像移动到目标位置时,请抓住机会根据需要命名该文件。如果您正在处理用户的帐户,那么获取用户名,ID,中间名等等并使用它来设置文件名称应该是微不足道的。
这个脚本获取上传的文件并将其保存为/avatars/$user_id.ext
,从POST检索$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>
如果我知道任何人''user_id'我可以改变他们的头像。 – 2012-04-19 14:33:01
是的,没错,但我认为他已经有了一个基本的授权系统,他可以在我的代码中添加一些条件(比如'$ _COOKIE ['user'] == $ dbrow ['user'] && $ _COOKIE [ 'hashpwd'] == $ dbrow ['pwd'] && $ _POST ['userid'] == $ dbrow ['userid']').. Mmh,确实会使$ user_id无用。但我只是举了一个例子来说明如何实现这一点,我确信他会与其他授权代码一起实施。 – 2012-04-19 15:01:34
什么阻止你更改名字后上传完成? – Elen 2012-04-19 13:46:34
http://php.net/move_uploaded_file - 示例#1将'$ name'的值更改为任何您想要的值。 – 2012-04-19 13:48:27
确定,但是如何将$ user_id从上传页面发布到处理图片上传的文件? – m3tsys 2012-04-19 13:51:51