【问题标题】:is it possible to change the name of a file after it's been uploaded文件上传后是否可以更改文件名
【发布时间】:2011-08-28 09:36:21
【问题描述】:

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

【问题讨论】:

  • 基本上,上传到临时存储,由您来处理。如下所示,您可以在该阶段重命名它。实际上,从安全的角度来看,允许最终用户指定名称可能是个坏主意。更多信息和各种方法,谷歌:“安全漏洞文件上传php”

标签: php html file-upload


【解决方案1】:

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

【讨论】:

  • 谢谢,我不知道。我想我应该在问 lol 之前看看这个函数是如何工作的。
【解决方案2】:

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

【讨论】:

    【解决方案3】:
    $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]);
    

    更新: 我认为您不需要提取文件扩展名。

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

    【讨论】:

      猜你喜欢
      • 2019-06-25
      • 2012-09-21
      • 2013-07-10
      • 2013-01-23
      • 2016-11-19
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      相关资源
      最近更新 更多