编码上传的文件名

时间:2015-10-22 05:44:05

标签: php html sql

我想问一下,如果我有一个网络表单,人们会用它来上传我的数据库。如果2个人使用相同的名称上传了相同的文件,则在uploads目录中,其中一个将替换另一个。所以我需要将上传到db的每个文件的名称更改为:filename201405051200.pdf或jpg或... 这里我们有每个示例image1的文件名,数字是上传的日期和时间。所以任何帮助。我在下面的链接中使用显示为答案的代码:

Uploading blob files/images into Mysql

我使用了这段代码:

$path = "../uploads/".$_FILES['file']['name'];
if(move_uploaded_file($_FILES["file"]["tmp_name"], $path.'_'.time())){
...
}

但现在文件的格式类型被时间替换。所以,如果它是img.jpg它现在是img85890338jpg并且不会正常打开

1 个答案:

答案 0 :(得分:1)

您可以使用pathinfo提取文件扩展名:

$fileExt = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);  

之后,您可以创建新文件名:

if(move_uploaded_file($_FILES["file"]["tmp_name"], $path.'_'.time().date().'.'.$fileExt)) {

}