दिलचस्प पोस्ट
मैं इनपुट दिनांक फ़ील्ड पर प्लेसहोल्डर फ़ंक्शनिस कैसे अनुकरण करूं? वेबसाकेट उपलब्ध होने पर AJAX का उपयोग क्यों करते हैं? आईओएस में गैर आलसी छवि लोड हो रहा है वेबसाइट तक पहुंचने से डारोदर.डॉम जैसी स्पैम रेफरर को कैसे ब्लॉक करें? 30 दिन का समय परीक्षण लागू करना टैग प्रणाली कैसे लागू करें डायनामिक पेपल बटन एन्क्रिप्शन सीतनिद्रा में होना: HQL के साथ नल क्वेरी-पैरामीटर मान कैसे सेट करें? आर में संख्याओं के लिए कोमा सेपरेटर? बाइट इवेंट को राइट माउस क्लिक करें वैध ईमेल पते की अधिकतम लंबाई क्या है? जावा मैट्रिक्स गणित पुस्तकालयों का प्रदर्शन? नोआहुप प्रक्रिया को मारने के लिए प्रक्रिया आईडी कैसे प्राप्त करें? एक एकल सेट से विशिष्ट आकार के सभी संयोजनों को उत्पन्न करने के लिए PHP एल्गोरिथम स्पार्क एसक्यूएल: स्तंभों की सूची में कुल कार्यों को लागू करें

अपलोड किए गए फ़ाइल को एक निर्देशिका में सहेजने से पहले उसका नाम कैसे बदलें?

नीचे एक कोड है जिसे मैं एक निर्देशिका में फाइल अपलोड करने के लिए इस्तेमाल किया था। यह बढ़िया काम करता है। मेरा मुख्य प्रश्न यह है:

move_uploaded_file () वह है जो अपलोड की गई फ़ाइल को निर्देशिका में सहेजता है, और यह भी मेरा अनुमान है कि move_uploaded_file () उस नाम के लिए नाम सेट करता है

मैं अपनी फ़ाइल का नाम एक यादृच्छिक संख्या में कैसे बदल सकता हूँ?

मैंने ऐसा करने की कोशिश की है:

$allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 100000) && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; } else { $fileName = $temp[0].".".$temp[1]; $temp[0] = rand(0, 3000); //Set to random number $fileName; if (file_exists("../img/imageDirectory/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]); echo "Stored in: " . "../img/imageDirectory/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } 

मैंने $ $ _FILES ["फ़ाइल"] ["नाम"] जैसे चर बदलने और इसे $ fileName के साथ बदलने की कोशिश की ; चर ताकि नए नाम को संग्रहीत किया जा सके।

Solutions Collecting From Web of "अपलोड किए गए फ़ाइल को एक निर्देशिका में सहेजने से पहले उसका नाम कैसे बदलें?"

आप move_uploaded_file के दूसरे पैरामीटर में फ़ाइल का नाम बदलकर फ़ाइल का नाम बदल सकते हैं।

के बजाय

 move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]); 

उपयोग

 $temp = explode(".", $_FILES["file"]["name"]); $newfilename = round(microtime(true)) . '.' . end($temp); move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename); 

आपके प्रश्न को प्रतिबिंबित करने के लिए बदल दिया गया है, वर्तमान समय पर आधारित एक यादृच्छिक संख्या उत्पादित करेगा और मूल अपलोड की गई फ़ाइल से एक्सटेंशन जोड़ देगा।

आप सही ढंग से अनुमान लगाते हैं move_uploaded_file लिए मैन्युअल पृष्ठ पढ़ें फ़ाइल को सहेजना चाहते होने के लिए दूसरा पैरामीटर सेट करें।

यदि यह काम नहीं करता है, तो आपके $fileName कुछ गड़बड़ है कृपया अपना सबसे हाल का कोड पोस्ट करें

आप यह कोशिश कर सकते हैं,

 $newfilename= date('dmYHis').str_replace(" ", "", basename($_FILES["file"]["name"])); move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);