2012-04-24 4 views
10

मैं निम्नलिखित कोड

$image_path = $_FILES["p_image"]["name"].time(); 

यह नाम फ़ाइल image02.jpg1335279888

लेकिन मुझे यह नाम दिया जा करना चाहते हैं image02_1335279888.jpg

मैं इसे कैसे प्राप्त कर सकता हूं?

उत्तर

26
$path_parts = pathinfo($_FILES["p_image"]["name"]); 
$image_path = $path_parts['filename'].'_'.time().'.'.$path_parts['extension'] 
+7

@ user521180 आप ही नाम के साथ यह इतना 2 फ़ाइलें कर रहे हैं एक दूसरे के ऊपर लिख नहीं है, तो आप microtime उपयोग करने पर विचार हो सकता है (सही) ; समय के बजाय()। अन्यथा एक ही नाम में उसी नाम से अपलोड की गई 2 छवियां ओवरराइट हो जाएंगी। "Image.jpg" नामक 2 छवियों को अपलोड करने वाले एकल उपयोगकर्ता पर विचार करें। – HappyTimeGopher

+1

आपको अपनी मूल पोस्ट में उल्लिखित सही नामकरण सम्मेलन प्राप्त करने के लिए, वहां भी अंडरस्कोर जोड़ने की आवश्यकता होगी: $ image_path = $ path_parts ['filename']। "_"। Microtime (true)। ' '। $ path_parts [' विस्तार ']; – Squig

+0

@ स्क्विग यह इंगित करने के लिए धन्यवाद कि – Sethunath

1

आप देख सकते हैं कि यह एक:

$file = $_FILES["p_image"]["name"]; 
$array = explode('.', $file); 
$fileName=$array[0]; 
$fileExt=$array[1]; 
$newfile=$fileName."_".time().".".$fileExt; 
+0

क्या यह '$ newfile = $ filename नहीं होना चाहिए। '_'। पहर() । '।' । $ FileExt; ' – RiggsFolly

संबंधित मुद्दे