我想问一下,如果我有一个网络表单,人们会用它来上传我的数据库。如果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并且不会正常打开
答案 0 :(得分:1)
您可以使用pathinfo提取文件扩展名:
$fileExt = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
之后,您可以创建新文件名:
if(move_uploaded_file($_FILES["file"]["tmp_name"], $path.'_'.time().date().'.'.$fileExt)) {
}