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

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

阅读 4.6k
2 个回答

假设表单如此:

<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);
?>

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题