我有以下代碼
$image_path = $_FILES["p_image"]["name"].time();
它名字的文件image02.jpg1335279888
,但我希望它被命名爲image02_1335279888.jpg
我該如何做到這一點?
我有以下代碼
$image_path = $_FILES["p_image"]["name"].time();
它名字的文件image02.jpg1335279888
,但我希望它被命名爲image02_1335279888.jpg
我該如何做到這一點?
$path_parts = pathinfo($_FILES["p_image"]["name"]);
$image_path = $path_parts['filename'].'_'.time().'.'.$path_parts['extension']
您可以檢查這一項:
$file = $_FILES["p_image"]["name"];
$array = explode('.', $file);
$fileName=$array[0];
$fileExt=$array[1];
$newfile=$fileName."_".time().".".$fileExt;
應該不是'$ newfile = $ filename。 '_'。時間() 。 '' 。 $ fileExt;' – RiggsFolly 2015-02-20 10:21:35
@ user521180如果你這樣做是爲了兩個文件具有相同的名稱不會覆蓋彼此,那麼你可以考慮使用microtime中(真) ;而不是時間()。否則,在同一秒內以相同名稱上傳的2張圖像將被覆蓋。考慮一個用戶上傳兩個圖像,這兩個圖像都稱爲「image.jpg」。 – HappyTimeGopher 2012-04-24 15:19:11
您還需要在其中添加下劃線,以便獲得原始文章中提到的確切命名約定:$ image_path = $ path_parts ['filename']。「_」。microtime(true)。'。 」。$ path_parts [ '延伸']; – Squig 2012-04-24 15:29:22
@Squig謝謝指出, – Sethunath 2012-04-24 15:32:48