2011-05-18 122 views
0

有没有什么办法让php脚本在用户使用HTML表单上传文件后选择文件名?我希望允许用户为他们的帐户上传头像,并且希望用户使用其用户名来命名,而不是在其计算机上的名称。我使用的是基本的HTML上传表单,它只允许带有10MB文件限制的jpegs和png文件,类似于http://www.w3schools.com/php/php_file_upload.asp上的文件上传代码。您可以给予的任何帮助将不胜感激。是否有可能在文件上传后更改文件名

+0

基本上,上传到临时存储,它取决于你来处理它。如下所示,您可以在该阶段对其进行重命名。事实上,从安全角度来看,允许最终用户指定名称可能是一个坏主意。有关更多信息和各种方法,谷歌:“安全漏洞文件上传php” – horatio 2011-05-18 21:32:13

回答

1

您可以在使用move_uploaded_file()时指定文件名,否则可以重命名()该文件。

2

将所需的文件名放在move_uploaded_file()的第二个参数中。

+0

谢谢,我不知道。我想我应该在问问大家之前看看这个功能是如何工作的。 – Shoaulin 2011-05-18 21:02:59

1
$userid = 5; // say you fetch it from database 
$ext = explode("\/",$_FILES["file"]["type"]); //extract the file extension 
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$userid.$ext[1]); 

UPDATE: 我觉得你不需要解压文件扩展名。

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$userid); 
相关问题