【问题标题】:PHP Upload image with md5 name [duplicate]PHP上传带有md5名称的图像[重复]
【发布时间】:2013-12-31 06:00:22
【问题描述】:

我需要上传带有md5/uniqid 名称的图片。

PHP:

$filenamekey = md5(uniqid($_FILES["myfile"]["name"], true)); 

move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$filenamekey);

这会将图像移动到带有md5 name 的文件夹中,但上传没有任何图像extension/type 的文件。我该如何解决这个问题?

图片?

【问题讨论】:

    标签: php image-uploading


    【解决方案1】:

    你可以试试这个吗,你需要在你的文件名中添加文件扩展名,因为你已经将你的文件名转换为 md5 编码,即使它也对扩展名进行了编码。在这种情况下,您需要添加文件扩展名。

    $Filepath = $_FILES['myfile']['name'];
    $filenamekey = md5(uniqid($Filepath, true));     
    $Fileext = pathinfo($Filepath, PATHINFO_EXTENSION);
    $filenamekey = $filenamekey.'.'.$Fileext;
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      $filenamekey = md5(uniqid($_FILES["myfile"]["name"], true));
      
      // find the original extension and append it to the filename
      $filenamekey .= "." . pathinfo($_FILES["myfile"]["name"], PATHINFO_EXTENSION);
      
      move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$filenamekey);
      

      【讨论】:

        【解决方案3】:

        获取文件扩展名并将其添加到您的$filenamekey

        $extension = pathinfo($_FILES["myfile"]["name"], PATHINFO_EXTENSION);
        $filenamekey .= "." . $extension;
        

        【讨论】:

          猜你喜欢
          • 2015-04-02
          • 2020-04-21
          • 1970-01-01
          • 2019-07-05
          • 1970-01-01
          • 2014-04-30
          • 1970-01-01
          • 2017-11-10
          • 1970-01-01
          相关资源
          最近更新 更多