登陆

如果用PHP给上传的文件改成其MD5值且保留后缀名

假设我用php接收表单上传的文件,怎么实现给上传的文件改名(改成其文件md5值,以防止重名),而且保留后缀。
最好能给一段示例代码

# PHP
PHP中文网PHP中文网1763 天前318 次浏览

全部回复(2)我要回复

  • 伊谢尔伦

    伊谢尔伦2017-04-10 16:37:46

    假设表单如此:

    <form action="upload_file.php" method="post"
    enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="form_file_name" id="file" /> 
    <br />
    <input type="submit" name="submit" value="Submit" />
    </form>
    <?php
    // 检查错误什么的就不写了
    $filename = $_FILES['form_file_name']["tmp_name"];
    $md5 = md5_file($filename);
    $ext = pathinfo($_FILES['form_file_name']['name'], PATHINFO_EXTENSION);
    move_uploaded_file($filename, $md5.'.'.$ext);
    ?>

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 16:37:46

    这样可以换名字:
    $str=’test.name’;
    $pos=strrpos($str,’.’);
    echo substr_replace($str,md5(substr($str,0,$pos)),0,$pos);
    手机写代码好费劲。。。

    回复
    0
  • 取消回复发送