Creating a file upload form In Hindi

Creating a file upload form In Hindi

पीएचपी प्रोग्रामिंग में डेवलपर फ़ाइल डाटा अपलोड फ़ॉर्म क्रिएट कर डेडिकेटेड वेब सर्वर होस्ट लोकेशन पर इंटरनेट यूज़र सर्वर पर डिजायर फाइल और डाटा को सलेक्ट कर मैन्युअल आर्डर में अपलोड कर सकते हैं। यहाँ क्रिएटेड एचटीएमएल फ़ॉर्म HTTP प्रोटोकॉल के माध्यम से अपलोड फ़ाइल को सर्वर लोकेशन पर सेंड करता है, और पीएचपी सर्वर अपलोड फाइल प्रोसेसिंग जैसे, अपलोड फाइल को स्टोर करना, फ़ाइल एक्सटेंशन टाइप, मैक्स फाइल अपलोड साइज़, आदि ऐट्रिब्यूट्स को वैलिडेट और प्रोसेस को हैंडल करता है।

Creating a file upload form In Hindi

File upload form creation process in PHP programming.

  • Create the form in HTML – क्रिएटेड एचटीएमएल फ़ॉर्म में enctype फीचर्स या एट्रिब्यूट ऐड होना चाहिए। जो multipart/form-data ऐट्रिब्यूट्स के साथ सेट हो, जिससे की डिजायर फ़ाइल को अपलोड की जा सके।
  • Handle the uploaded file on the PHP server – ऑनलाइन पीएचपी सर्वर पर यूजर फील फ़ॉर्म डाटा इनफार्मेशन सबमिट होने जाने के बाद, पीएचपी $_FILES सुपरग्लोबल वेरिएबल को अप्लाई करके अपलोड की गई यूजर फ़ाइल को प्रोसेस करेगा।

HTML form format for user file data upload.

यहाँ आपको एक बेसिक सिंपल एचटीएमएल फ़ॉर्म का एक्साम्प्ल मिलता है, जो की किसी वेबसाइट या वेबपेज में रैंडम इंटरनेट यूज़र्स को फ़ाइल सलेक्ट कर मैन्युअल अपलोड करने की परमिशन प्रोवाइड करता है.

<!DOCTYPE html>

<html lang=”en”>

<head>

    <meta charset=”UTF-8″>

    <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>

    <title>Simple Html File Upload Form</title>

</head>

<body>

<h2>Select file to Upload </h2>

<form action=”upload.php” method=”POST” enctype=”multipart/form-data”>

    <label for=”fileUpload”>Select a file </label>

    <input type=”file” name=”fileUpload” id=”fileUpload” required>

    <br><br>

    <input type=”submit” value=”Upload File”>

</form>

</body>

</html>

File Upload Form Explanation.

  • enctype=”multipart/form-data” – यह एचटीएमएल फॉर्म एट्रिब्यूट यूजर सलेक्टेड फ़ाइल को अपलोड करने के लिए एसेंशियल है। यह मेथड एचटीएमएल यूजर फील फ़ॉर्म डाटा को डेडिकेटेड वेब सर्वर पर बाइनरी डेटा फॉर्मेट में सेंड करने की परमिशन प्रोवाइड करता है।
  • type=”file” – यह एक एचटीएमएल फॉर्म फ़ाइल इनपुट फ़ील्ड टाइप है, जो रैंडम इंटरनेट यूज़र्स को डिजायर अपलोड फ़ाइल सलेक्ट करने की परमिशन प्रोवाइड करता है, जिसे रैंडम यूजर फाइल अपलोड करना चाहते हैं।

PHP Program Code to Handle File Uploads in PHP Programming.

एचटीएमएल यूजर फॉर्म क्रिएट करने कर बाद अब हम upload.php फ़ाइल क्रिएट करते हैं, जो की एचटीएमएल फॉर्म के माध्यम से अपलोड की गई यूजर फॉर्म फ़ाइल को प्रोसेस करने में हेल्प करती है।

Here, the following checks will be performed on the uploaded file.

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

So, let’s create a PHP script to manage user-selected file uploads in PHP.

<?php

// here it used to Check if the html form was submitted and a file is uploaded or not

if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’ && isset($_FILES[‘fileUpload’])) {

    // it used to Get the complete details about file

    $file = $_FILES[‘fileUpload’];    // use for file upload method

    $fileName = $file[‘name’];        // used to display Original file name

    $fileTmpName = $file[‘tmp_name’]; // used to display Temporary file name on the server

    $fileSize = $file[‘size’];        // used to get info about File size in bytes

    $fileError = $file[‘error’];      // it display file Error code (if any) possible

    $fileType = $file[‘type’];        // it used to check file MIME type

    // it used to Define allowed file types (ex, images file only)

    $allowedTypes = [‘image/jpeg’, ‘image/png’, ‘image/gif’]; // it allow jpeg,png, gif file type

    // it allow maximum file upload size (ex, 2 MB max size)

    $maxFileSize = 2 * 1024 * 1024; // set here 2 MB file upload in bytes

    // her if statement Check errors for file upload

    if ($fileError !== 0) {

        echo “display error during file uploading process”;

        exit;

    }

    // here it Check file size (ex, fule limit to 2MB max )

    if ($fileSize > $maxFileSize) {

        echo “The uploaded file is too large, please keep it in size less than 2MB”;

        exit;

    }

    // here it Check file type (ex, allow only images file to upload)

    if (!in_array($fileType, $allowedTypes)) {

        echo “unsupported image file type, please upload Only JPG, PNG, and GIF files”;

        exit;

    }

    // we can set manualthe upload image directory

    $uploadDir = ‘uploads/’;

    // here it Make sure the upload image directory must exists, if not exist, it create it

    if (!is_dir($uploadDir)) {

        mkdir($uploadDir, 0001, true);

    }

    // here it Generate a unique upload image file name for the file to avoid overwriting risk

    $uniqueFileName = uniqid(”, true) . ‘.’ . pathinfo($fileName, PATHINFO_EXTENSION);

    // here it Define the upload image file target path

    $targetPath = $uploadDir . $uniqueFileName;

    // here it used to Move the uploaded image file from the temporary location to the target location path

    if (move_uploaded_file($fileTmpName, $targetPath)) {

        echo “File uploaded process success <br>”;

        echo “File name: ” . $uniqueFileName . “<br>”;

        echo “File size: ” . round($fileSize / 1024, 2) . ” KB<br>”;

        echo “File type: ” . $fileType . “<br>”;

    } else {

        echo “Unsucessfull file move or the uploaded file operation”;

    }

}

?>

PHP File Upload Source Code Explanation.

  • $_FILES[‘fileUpload’] – यहाँ सुपरग्लोबल वेरिएबल में अपलोड की गई इमेज फ़ाइल के बारे में इनफार्मेशन को होल्ड करता है, जिसमें, इमेज फाइल का नाम, फाइल साइज़, टेम्पररी फाइल लोकेशन, फाइल एरर कोड और माइम टाइप आदि इनफार्मेशन इन्क्लुड होती है।
  • Upload File Error Check – यह अपलोड इमेज फाइल कोड को चेक करता है कि $_FILES[‘fileUpload’][‘error’] मेथड का यूज़ करके अपलोड प्रोसेस के दौरान कोई फाइल एरर था, या नहीं था। अगर यहाँ फाइल अपलोड एरर 0 नहीं है, तो यह एक प्रॉब्लम जैसे, पार्शियल अपलोड या सर्वर फाइल एरर डिस्प्ले करता है।
  • Upload File Size Check – यह अपलोड इमेज फाइल साइज लिमिट जैसे 2 MB से ज़्यादा अपलोड इमेज मैक्स साइज न हो, इसके लिए अपलोड फाइल मैक्सिमम अलाउड फ़ाइल साइज़ लिमिट को चेक किया जाता है।
  • Upload File Type Check – यह सिर्फ़ अलाउड माइम इमेज फाइल एक्सटेंशन टाइप जैसे, इमेज/jpeg, इमेज/png, आदि फ़ाइलें को ही सर्वर पर अपलोड करने की परमिशन प्रोवाइड करता है। यहाँ ज़रूरत पड़ने पर आप दूसरे फाइल टाइप ऐड करने के लिए $allowedTypes ऐरे को एडजस्ट कर सकते हैं।
  • Directory Check and Creation – इसमें यदि टारगेट लोकेशन में अपलोड डायरेक्टरी (uploads/) मौजूद नहीं है, तो यह पीएचपी स्क्रिप्ट इसे ट्रू परमिशन (0001) के साथ mkdir() डोस कमांड का यूज़ करके एक डायरेक्टरी को क्रिएट करेगी।
  • Renaming the upload file – यह अपलोड होने वाली सिमिलर नाम वाली इमेज फ़ाइलों को ओवरराइट होने से स्टॉप करने के लिए, हम uniqid() का यूज़ करके एक यूनिक फ़ाइल नेम क्रिएट करते हैं, और pathinfo() फंक्शन का यूज़ करके फ़ाइल एक्सटेंशन को ऐड करते हैं।
  • Moving the file location – सर्वर पर अपलोड की गई इमेज फ़ाइल को move_uploaded_file() फंक्शन का यूज़ करके उसकी टेम्पररी लोकेशन वेब सर्वर पर से टारगेट डायरेक्टरी में मूव कर दिया जाता है।

Creating an upload directory in a dedicated location.

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

File upload security considerations.

  • File type validation – हमेशा अपलोड फ़ाइल टाइप फॉर्मेट एक्सटेशन और माइम टाइप चेक करें। ताकि हार्मफुल फ़ाइलें सर्वर पर अपलोड न हों. जैसे, .php फ़ाइलें या एग्जीक्यूटेबल फाइल्स है।
  • File size limit – रैंडम यूज़र्स को लार्ज वॉल्यूम फ़ाइलें अपलोड करने से रोकने के लिए फ़ाइल साइज़ को एक सही मैक्सिमम फाइल अपलोड लिमिट सेट करें। जो डेडिकेटेड वेब सर्वर स्टोरेज लोकेशन को फुल कर सकती हैं।
  • Use unique filenames – सर्वर पर अपलोड एक ही नाम वाली फ़ाइलों को ओवरराइट होने से रोकने के लिए, uniqid() फंक्शन जैसे मेथड को यूज़ करके यूनिक फ़ाइलनेम क्रिएट करे।
  • File permissions – पहले यह तय करें कि अपलोड डायरेक्टरी राइट ऐट्रिब्यूट्स प्रॉपर्टीज के साथ कम्पेटिबल हो, लेकिन सर्वर पर पब्लिकली आर्डर में एग्जीक्यूटेबल न हो, जिससे की वेब सर्वर पर संभावित सिक्योरिटी रिस्क को अवॉइड या टाला जा सके।

A summary of the upload file form in PHP.

  • Create upload HTML form – यहाँ एचटीएमएल फॉर्म ऐट्रिब्यूट्स enctype=”multipart/form-data” वाला फ़ॉर्म रैंडम इंटरनेट यूज़र को सलेक्टेड डिजायर फ़ाइलें अपलोड करने की परमिशन प्रोवाइड करता है।
  • PHP upload file handling – इसमें पीएचपी प्रोग्राम सोर्स कोड स्क्रिप्ट अपलोड की गई फ़ाइल को प्रोसेस करने, अपलोड फाइल गलतियों, अपलोड फ़ाइल टाइप चेक, मैक्स फाइल अपलोड साइज़ की जांच करने, और फ़ाइल को सही डायरेक्टरी में मूव करने के लिए $_FILES को यूज़ करती है।
  • Upload file security – अपलोड फाइल में किसी भी प्रकार के टकराव और सिक्योरिटी रिस्क से अवॉयड करने के लिए हमेशा फ़ाइल एक्सटेंशन टाइप, फाइल अपलोड साइज़ लिमिट को वैलिडेट करें और यूनिक फ़ाइलनेम का यूज़ करें।

Leave a Reply