我需要同時上傳CI中,默認情況下它創建一個文件名一樣sample.png
,sample1.png
而再次上傳同一文件重命名文件名,但我需要給一些認證的文件與隨機數載像1234_sample.png
,1232_sample.png
。在codeigniter中重命名文件?
任何方式來做到這一點。 ?
在此先感謝。
我需要同時上傳CI中,默認情況下它創建一個文件名一樣sample.png
,sample1.png
而再次上傳同一文件重命名文件名,但我需要給一些認證的文件與隨機數載像1234_sample.png
,1232_sample.png
。在codeigniter中重命名文件?
任何方式來做到這一點。 ?
在此先感謝。
在你的控制器在運行實際上傳的代碼把下面:
$config['encrypt_name'] = TRUE;
由於每笨documentation:
如果設置爲TRUE的文件名會被轉換爲隨機加密 字符串。如果您希望該文件以 的名稱保存,而上傳該文件的人無法識別,則此功能非常有用。
此之前運行應放在:
$this->load->library('upload', $config); // need to pass $config array
它正在工作,但它加密了文件名,但我需要獲得隨機函數的文件名,如下所示:終極 –
@jothikannan,你需要隨機文件名以防止人們猜測文件名來訪問它們,或隨機文件名以防止相同的文件可能具有相同的名稱?以上將解決這兩種情況,並且隨着字符串將被密碼生成而變得更隨機。 –
是的,非常感謝,它工作得很好。 –
您還沒有發佈你的代碼,但還是可以,如果你正面臨着重複的名稱問題,使用PHP rand()
功能:
你可以這樣做:
$file_name=rand(1,1000)."_sample.png";
OR
$file_name=time()."_sample.png";
希望它能幫助你。
這有助於,但不能確保仍然不會是重複的。通常,時間戳對此更好。 – 2013-01-05 11:27:34
好的更新。 。 – 2013-01-05 11:30:02
使用time()不會使其變得隨機,但可預測。 OP希望隨機性可以用於某種低級別認證。 –
後你到目前爲止的代碼。 – 2013-01-05 11:15:14
請看看這個問題........... http://stackoverflow.com/questions/11155058/file-rename-while-uploading –