2015-10-22 97 views
0

我想問,如果我有一個網頁表單,人們用它來上傳東西到我的分貝。如果兩個人上傳同名的相同文件,則在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

查看鏈接。首先,文件上傳,但當我想下載我的網站,它被下載,但不會正常打開。無論如何,我的問題是如何在問題中添加名稱來保存文件,請參閱鏈接以查看使用的代碼。 – droidnation

+0

您使用rand(111111,999999)函數與您的文件名設置唯一的文件名。 –

回答

1

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

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

之後,你可以創建新的文件名:

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

} 
+0

真棒,謝謝,但我更喜歡現在使用日期和time().data()。'。'。$ ext)和$ ext = pathinfo($ path,PATHINFO_EXTENSION)時間:move_uploaded_file($ _ FILES [「file」] [「tmp_name」],$ path。 ; – droidnation