[PHP] Upload pliku na serwer

PHP zosta?o stworzone do tworzenia dynamicznych stron internetowych. Uploadowanie pliku sk?ada si? z dwóch bloków – formularza i obs?ugi wgranego pliku.

Przyk?adowy formularz niech wygl?da tak:

 <form enctype="multipart/form-data" action="index.php" method="POST">   <input name="plik" type="file">  <input type="submit" value="Wgraj">  </form>

Teraz wystarczy zapisa? wys?any plik. Zalecam po?wi?ci? chwik? uwagi na przeanalizowania poni?szego kodu przed kopiowaniem:

 $u_plik = $_FILES['plik']['tmp_name'];  $u_nazwa = $_FILES['plik']['name'];  $u_rozmiar = $_FILES['plik']['size']; $u_max_rozmiar = 2*1024*1024; //Maksymalny rozmiar pliku dozwolony do wgrania a bajtach - w przyk?adzie 2MB if($u_rozmiar > $u_max_rozmiar) 

{

echo "Plik jest zbyt du?y!";  }  elseif(is_uploaded_file($u_plik))   {      move_uploaded_file($u_plik, "pliki/$u_nazwa");      echo "Plik: <b>$u_nazwa</b> ($u_rozmiar B) zosta? uploadowany!";  }

Dla wygody mo?na obie cz??ci po??czy? w jeden plik w ten sposób:

 <? if(!is_file($_FILES['plik']['tmp_name']))  {   $u_plik = $_FILES['plik']['tmp_name'];    $u_nazwa = $_FILES['plik']['name'];    $u_rozmiar = $_FILES['plik']['size'];   $u_max_rozmiar = 2*1024*1024; //Maksymalny rozmiar pliku dozwolony do wgrania a bajtach - w przyk?adzie 2MB   if($u_rozmiar > $u_max_rozmiar)  

{    echo "Plik jest zbyt du?y!";   }   elseif(is_uploaded_file($u_plik))    {      move_uploaded_file($u_plik, "pliki/$u_nazwa");      echo "Plik: <b>$u_nazwa</b> ($u_rozmiar B) zosta? uploadowany!";    }

}  else  {   echo'<form enctype="multipart/form-data" action="index.php" method="POST">      <input name="plik" type="file">    <input type="submit" value="Wgraj">    </form>';  } ?>

Koniec lekcji – jedynek nie stawiam:)