PHP ఫైల్ అప్లోడ్

PHP ద్వారా ఫైల్స్ ను సర్వర్ కు అప్లోడ్ చేయవచ్చు.

ఫైల్ అప్లోడ్ ఫారమ్ సృష్టించండి

వినియోగదారులు ఫారమ్ నుండి ఫైల్స్ అప్లోడ్ చేయడం చాలా ఉపయోగపడుతుంది.

అప్లోడ్ ఫైల్స్ కోసం ఉపయోగించవచ్చు హ్ట్మ్ల్ ఫారమ్ కు క్రింది చూడండి:

<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 "ఎరర్: " . $_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 "స్టోర్డ్ ఇన్: " . $_FILES["file"]["tmp_name"];
  }
?>

PHP యొక్క సర్వత్రా అర్రే అనునది $_FILES ద్వారా కస్టమర్ కంప్యూటర్ నుండి రిమోట్ సర్వర్కు ఫైల్స్ను అప్లోడ్ చేయవచ్చు.

మొదటి పారామీటర్ ఫారమ్ ఇన్పుట్ నేమ్, రెండవ అంకెటాడికి "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 "ఎరర్: " . $_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 "స్టోర్డ్ ఇన్: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>

ప్రకటనలు:IE కొరకు jpg ఫైల్స్ రకాను పీజెపెజ్ గా గుర్తించాలి, FireFox కొరకు 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 "రిటర్న్ కోడ్: " . $_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"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

పైని స్క్రిప్ట్ ఈ ఫైల్ ఉన్నాలా లేకపోతే, ఫైల్ని ప్రస్తుత ఫోల్డర్ కు కాపీ చేస్తుంది.

ప్రకటనలు:ఈ ఉదాహరణ "upload" పేరు కలిగిన కొత్త ఫోల్డర్ లో ఫైల్ని సేవ్ చేసింది.