Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload na stronę
Forum PHP.pl > Forum > Gotowe rozwiązania
blacki
Witam,

chciałbym wrzucić na swoją stronę zakładkę dla znajomych, w której mogli by uploadować mi pliki na serwer. Zawsze jakieś zdjęcia, czy prezentacje pobieram przez skejpa, przy większym rozmiarze trochę to problematyczne. Dlatego wpadłem na taki pomysł. Czy ktoś może mnie przekierować na odpowiedni skrypt, szukałem ale znalazłem przedawnione tematy z wygasłymi linkami.
ylk
  1. <?php
  2. $site_name = $_SERVER['HTTP_HOST'];
  3. $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
  4. $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  5. $upload_dir = "upload_files/"; // katalog do uploadu
  6. $upload_url = $url_dir."/upload_files/"; // URL uploadowanego pliku
  7. $mimes = array('image/jpeg','image/png'); // dozwolone typy plikow
  8. $max_size = 50; // max rozmiar pliku w MB
  9.  
  10. if (!is_dir($upload_dir)) die ("$upload_dir nie istnieje");
  11. if ($_FILES['userfile']) $message=do_upload($upload_dir, $upload_url);
  12. else $message="Wybierz plik do uploadu (max $max_size MB)";
  13. echo $message;
  14.  
  15. function do_upload($upload_dir, $upload_url)
  16. {
  17. $temp_name=$_FILES['userfile']['tmp_name'];
  18. $file_name=$_FILES['userfile']['name'];
  19. $file_type=$_FILES['userfile']['type'];
  20. $file_size=$_FILES['userfile']['size'];
  21. $result=$_FILES['userfile']['error'];
  22. $file_url=$upload_url.$file_name;
  23. $file_path=$upload_dir.$file_name;
  24.  
  25. global $mimes,$max_size;
  26. $max_size*=1024*1024;
  27. if (!in_array($file_type,$mimes)) return("Niedozwolony typ pliku: $file_type");
  28. if ($file_size>$max_size) return "Plik ma rozmiar wiekszy niz $max_size MB!";
  29. if ($file_name=="") return("Pusta nazwa pliku!");
  30.  
  31. chmod($temp_name,0777);
  32. $result=move_uploaded_file($temp_name, $file_path);
  33. $message="Typ pliku:".$file_type."<br>";
  34. $message.=($result) ? "URL do Twojego pliku: <a href='$file_url'>$file_url</a>" : "";
  35. return $message;
  36. }
  37. ?>
  38. <form name=upload action=index.php enctype='multipart/form-data' method=post>
  39. <input type=file name=userfile><button>Uploaduj!</button>
  40. </form>

trzeba tylko utworzyc folder upload_files i dać mu chmod 777
blacki
Dzięki wielkie, wszystko działa jak powinno! smile.gif
ylk
Tak, ale serwer może mieć ograniczenia ustawione w php.ini, ale raczej do 100MB powinien łykać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.