PHP فایل‌ها آپلود

PHP ਰਾਹੀਂ ਫਾਇਲ ਨੂੰ ਸਰਵਰ 'ਤੇ ਅੱਪਲੋਡ ਕਰ ਸਕਦੇ ਹੋ

ਇੱਕ ਫਾਇਲ ਅੱਪਲੋਡ ਫਾਰਮ ਬਣਾਓ

ਯੂਜ਼ਰ ਨੂੰ ਫਾਰਮ ਰਾਹੀਂ ਫਾਇਲ ਅੱਪਲੋਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣਾ ਬਹੁਤ ਉਪਯੋਗੀ ਹੈ。

ਹੇਠ ਦਿੱਤਾ ਹੋਇਆ ਫਾਇਲ ਅੱਪਲੋਡ ਕਰਨ ਵਾਲਾ HTML ਫਾਰਮ ਦੇਖੋ:

<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

ਇਸ ਫਾਰਮ ਬਾਰੇ ਹੇਠ ਲਿਖੇ ਜਾਣਕਾਰੀ ਦਾ ਧਿਆਨ ਰੱਖੋ:

<form> ਟੈਗ ਦਾ enctype ਲੈਬਲ ਇਹ ਦਿਸ਼ਾ ਦਿੰਦਾ ਹੈ ਕਿ ਫਾਰਮ ਭੇਜਣ ਦੇ ਸਮੇਂ ਕਿਸ ਪ੍ਰਕਾਰ ਦੇ ਕੰਟੈਂਟ ਟਾਈਪ ਦਾ ਇਸਤੇਮਾਲ ਕਰਨਾ ਹੈ। ਜਦੋਂ ਫਾਰਮ ਵਿੱਚ ਬਾਇਨਰੀ ਡਾਟਾ ਜਿਵੇਂ ਕਿ ਫਾਇਲ ਕੰਟੈਂਟ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ, ਤਾਂ "multipart/form-data" ਵਰਤੋਂ ਕਰੋ。

<input> ਟੈਗ ਦਾ type="file" ਲੈਬਲ ਇਹ ਦਿਸ਼ਾ ਦਿੰਦਾ ਹੈ ਕਿ ਇਨਪੁਟ ਨੂੰ ਫਾਇਲ ਦੇ ਰੂਪ ਵਿੱਚ ਹੱਲ ਕਰਨਾ ਹੈ। ਉਦਾਹਰਣ ਵਜੋਂ, ਬਰਾਊਜ਼ਰ ਵਿੱਚ ਪ੍ਰਿਵਿਊ ਕਰਦੇ ਸਮੇਂ, ਇਨਪੁਟ ਬਕਸ ਦੇ ਪਾਸੇ ਇੱਕ ਬਰਾਉਜ਼ ਬਟਨ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ。

تعلیمات:ਯੂਜ਼ਰ ਦੀ ਫਾਇਲ ਅੱਪਲੋਡ ਕਰਨ ਦੀ ਆਗਿਆ ਇੱਕ ਵੱਡੀ ਸੁਰੱਖਿਆ ਜ਼ਰੂਰਤ ਹੈ। ਕੇਵਲ ਭਰੋਸੇਮੰਦ ਯੂਜ਼ਰਾਂ ਨੂੰ ਫਾਇਲ ਅੱਪਲੋਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਓ。

ਅੱਪਲੋਡ ਸਕ੍ਰਿਪਟ ਬਣਾਓ

ਫਾਇਲ "upload_file.php" ਵਿੱਚ ਫਾਇਲ ਅੱਪਲੋਡ ਕਰਨ ਵਾਲੇ ਕੋਡ ਹੈ:

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

PHP ਦੇ ਗਲੋਬਲ ਅਰਰੇ ਵਿੱਚ $_FILES ਦੀ ਮਦਦ ਨਾਲ, ਤੁਸੀਂ ਗਾਹਕ ਕੰਪਿਊਟਰ ਤੋਂ ਰਿਮੋਟ ਸਰਵਰ 'ਤੇ ਫਾਈਲ ਅੱਪਲੋਡ ਕਰ ਸਕਦੇ ਹੋ।

ਪਹਿਲਾ ਪੈਰਾਮੀਟਰ ਫਾਰਮ ਦੇ input name ਹੈ، ਦੂਜਾ ਸਬਡਾਇਕਸ ਹੋ ਸਕਦਾ ਹੈ "name", "type", "size", "tmp_name" ਜਾਂ "error"।ਜਿਵੇਂ ਇਸ ਤਰ੍ਹਾਂ:

  • $_FILES["file"]["name"] - ਅੱਪਲੋਡ ਕੀਤੀ ਫਾਈਲ ਦਾ ਨਾਮ
  • $_FILES["file"]["type"] - ਅੱਪਲੋਡ ਕੀਤੀ ਫਾਈਲ ਦਾ ਤਰੀਕਾ
  • $_FILES["file"]["size"] - ਅੱਪਲੋਡ ਕੀਤੀ ਫਾਈਲ ਦਾ ਅਕਾਰ ਬਾਈਟਾਂ ਵਿੱਚ
  • $_FILES["file"]["tmp_name"] - ਸਰਵਰ 'ਤੇ ਫਾਈਲ ਦੀ ਅਸਥਾਈ ਨਕਲ ਦਾ ਨਾਮ
  • $_FILES["file"]["error"] - ਫਾਈਲ ਅੱਪਲੋਡ ਕਰਨ ਵਿੱਚ ਹੋਣ ਵਾਲੀ ਗਲਤੀ ਦਾ ਕੋਡ

ਇਹ ਇੱਕ ਬਹੁਤ ਸਾਦਾ ਫਾਈਲ ਅੱਪਲੋਡ ਤਰੀਕਾ ਹੈ।ਸੁਰੱਖਿਆ ਦੇ ਬਾਰੇ ਵਿੱਚ ਸੋਚਦੇ ਹੋਏ, ਤੁਸੀਂ ਕਿਸ ਉਪਭੋਗਤਾ ਨੂੰ ਫਾਈਲ ਅੱਪਲੋਡ ਕਰਨ ਦੇ ਅਧਿਕਾਰ ਦਿੰਦੇ ਹੋਏ ਸੀਮਾਵਾਂ ਵਧਾਉਣਾ ਚਾਹੀਦੇ ਹੋ。

ਅੱਪਲੋਡ ਸੀਮਾਵਾਂ

ਇਸ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਅਸੀਂ ਫਾਈਲ ਅੱਪਲੋਡ ਦੀਆਂ ਸੀਮਾਵਾਂ ਨੂੰ ਵਧਾਇਆ ਹੈ।ਉਪਭੋਗਤਾ ਕੇਵਲ .gif ਜਾਂ .jpeg ਫਾਈਲਾਂ ਅੱਪਲੋਡ ਕਰ ਸਕਦੇ ਹਨ, ਫਾਈਲ ਦਾ ਅਕਾਰ 20 kb ਤੋਂ ਘੱਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>

تعلیمات:IE ਲਈ jpg ਫਾਈਲ ਦੇ ਤਰੀਕੇ ਨੂੰ pjpeg ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਫਾਇਰਫਾਕਸ ਲਈ jpeg ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ。

ਅੱਪਲੋਡ ਕੀਤੀ ਫਾਈਲ ਨੂੰ ਸੰਭਾਲੋ

ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਸਰਵਰ ਦੇ PHP ਅਸਥਾਈ ਫੋਲਡਰ ਵਿੱਚ ਅੱਪਲੋਡ ਕੀਤੀ ਫਾਈਲ ਦਾ ਅਸਥਾਈ ਨਕਲ ਬਣਾਉਂਦਾ ਹੈ。

ਇਹ ਅਸਥਾਈ ਕਾਪੀ ਫਾਈਲ ਸਕ੍ਰਿਪਟ ਮੁਕੰਮਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਖਤਮ ਹੋ ਜਾਵੇਗੀ।ਅਗਰ ਅਸੀਂ ਅੱਪਲੋਡ ਕੀਤੀ ਫਾਈਲ ਨੂੰ ਸੰਭਾਲਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਤਾਂ ਇਸ ਨੂੰ ਹੋਰ ਸਥਾਨ 'ਤੇ ਕਾਪੀ ਕਰਨਾ ਹੋਵੇਗਾ:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

مذکورہ اسکریپت نے اس فائل کا موجودگی کو جانچا، اگر نہیں موجود تو اس فائل کو مقررہ فولدر میں کاپی کردیا ہے۔

تعلیمات:یہ مثال نئی فولدر 'upload' میں فائل کو محفوظ کردیا ہے۔