move_uploaded_file() फ़ंक्शन
move_uploaded_file() फ़ंक्शन एक अपलोड की गई फ़ाइल को नए स्थान पर ले जाता है। यदि गंतव्य फ़ाइल पहले से मौजूद है, तो इसे ओवरराइट कर दिया जाएगा।
सिंटैक्स
move_uploaded_file($file_path, $destination)
पैरामीटर
| पैरामीटर | विवरण |
|---|---|
| file_path | ले जाई जाने वाली फ़ाइल (आमतौर पर $_FILES['userfile']['tmp_name']) |
| destination | जहां फ़ाइल ले जाई जाएगी |
वापसी मान
सफलता पर true, विफलता पर false लौटाता है।
उदाहरण
<?php
if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/documents/new/" . $_FILES['userfile']['name'])) {
print "सफलतापूर्वक अपलोड हुआ!";
} else {
print "अपलोड विफल!";
}
?>
महत्वपूर्ण सुधार
- मूल उदाहरण में गंतव्य पथ
"/documents/new/"केवल निर्देशिका थी; फ़ाइल नाम जोड़ना आवश्यक है। - हमेशा
is_uploaded_file()से सत्यापित करें कि फ़ाइल वास्तव में HTTP POST के माध्यम से अपलोड की गई थी। - सुरक्षा: फ़ाइल प्रकार, आकार, और एक्सटेंशन की जांच करें।
पूर्ण सुरक्षित उदाहरण
<?php
$allowed_types = ['image/jpeg', 'image/png', 'image/gif'];
$max_size = 2 * 1024 * 1024; // 2MB
if (isset($_FILES['userfile']) && $_FILES['userfile']['error'] === UPLOAD_ERR_OK) {
if (in_array($_FILES['userfile']['type'], $allowed_types) && $_FILES['userfile']['size'] <= $max_size) {
$dest = "/documents/new/" . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $dest)) {
echo "अपलोड सफल!";
} else {
echo "फ़ाइल ले जाने में विफल!";
}
} else {
echo "अमान्य फ़ाइल प्रकार या आकार!";
}
}
?>