SkryptoMania.com - Darmowe skrypty PHP, Darmowe skrypty JavaScript, Darmowe szablony.

bet-at-home.com


Upload plików Email
Tutorials

 

Upload plików

Jedną z bardzo przydatnych funkcji w PHP jest możliwość prostego Uploadu dowolnych plików na serwer. Poniższy przykład przedstawia najprostszą metodę zbudowania Uploadera plików. Nie zapomnij w formularzu o dodaniu: enctype="multipart/form-data" co pozwala na wysłanie informacji z załącznikiem.

formularz na stronie wysyłającej:

formularz.htm ------------------------------------------------

<html>
<form name="kopiarka" method="POST"
enctype="multipart/form-data" action="upload.php3">
<input type="hidden" name="ok" value="1">
<input type="hidden" name="MAX_FILE_SIZE" value="10000"><p>Wybierz plik do przerzucenia:<br>
<input type="file" name="file" size="40"><br>
<br>
<input type="submit" value="Kopiuj"><input type="reset" value="Reset"></p>
</form>
</html>

skrypt przyjmujący wysłany plik: (katalog do, którego przerzucane będą pliki oraz w którym znajdzie się skrypt musi mieć ustawione prawa na 777). Wartość formularza "MAX_FILE_SIZE" określa maksymalny rozmiar pliku w bajtach, jaki może zostać skopiowany.

upload.php3 ------------------------------------------------

<html>
<?
if ($ok=="1"){ /* działanie tylko jeśli użyto formularza */
copy("$file", "katalog/$file_name"); /* kopiowanie */
unlink("$file");
echo"Plik został skopiowany<br>
Informacje o skopiowanym pliku:<br>
Nazwa pliku: $file_name<br>
Wielkość pliku: $file_size"; /* Potwierdzenie i informacja o skopiowanym pliku */
}
else {
echo"Wystapił bład przy kopiowaniu pliku"; /* Informacja o błędzie */
}
?>
</html>

Zmienne $file_name oraz $file_size nadawane są automatycznie, można je zastosować np. stosując inną metodę blokowania plików jeśli ich wielkość przekracza określony przez nas maksymalny rozmiar lub mamy wymusić określoną nazwę pliku. Możemy to zrobić na przykład tak:

<?
if ($ok!="1"){
exit;
}
elseif (($file_size<"10000") && ($file_name=="foto.jpg")){
copy("$file", "katalog/$file_name");
unlink("$file");
echo"Plik został skopiowany<br>
Informacje o skopiowanym pliku:<br>
Nazwa pliku: $file_name<br>
Wielkość pliku: $file_size bajtów";
}
else {
echo"Wystapił bład przy kopiowaniu pliku.
Zła nazwa lub została przekroczona maksymalna wielkość pliku"; /* Informacja o błędzie */
}
?>

 
Valid XHTML & CSS | Template Design SkryptoMania | Copyright © 2009 by skryptomania.com