2013-01-05 40 views
2

我需要同時上傳CI中,默認情況下它創建一個文件名一樣sample.pngsample1.png而再次上傳同一文件重命名文件名,但我需要給一些認證的文件與隨機數載像1234_sample.png1232_sample.png在codeigniter中重命名文件?

任何方式來做到這一點。 ?

在此先感謝。

+0

後你到目前爲止的代碼。 – 2013-01-05 11:15:14

+1

請看看這個問題........... http://stackoverflow.com/questions/11155058/file-rename-while-uploading –

回答

3

在你的控制器在運行實際上傳的代碼把下面:

$config['encrypt_name'] = TRUE; 

由於每笨documentation

如果設置爲TRUE的文件名會被轉換爲隨機加密 字符串。如果您希望該文件以 的名稱保存,而上傳該文件的人無法識別,則此功能非常有用。

此之前運行應放在:

$this->load->library('upload', $config); // need to pass $config array 
+0

它正在工作,但它加密了文件名,但我需要獲得隨機函數的文件名,如下所示:終極 –

+1

@jothikannan,你需要隨機文件名以防止人們猜測文件名來訪問它們,或隨機文件名以防止相同的文件可能具有相同的名稱?以上將解決這兩種情況,並且隨着字符串將被密碼生成而變得更隨機。 –

+0

是的,非常感謝,它工作得很好。 –

1

您還沒有發佈你的代碼,但還是可以,如果你正面臨着重複的名稱問題,使用PHP rand()功能:

你可以這樣做:

$file_name=rand(1,1000)."_sample.png"; 

OR

$file_name=time()."_sample.png"; 

希望它能幫助你。

+0

這有助於,但不能確保仍然不會是重複的。通常,時間戳對此更好。 – 2013-01-05 11:27:34

+0

好的更新。 。 – 2013-01-05 11:30:02

+0

使用time()不會使其變得隨機,但可預測。 OP希望隨機性可以用於某種低級別認證。 –