Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [klasy]Obsluga uploadu, po mojemu PHP5 only
NuLL
post
Post #1





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Witam,

Postanowilem przestawic rozwiazanie pozwalajace na obiektowa obsluge uploadu plikow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Calosc nie jest specjalnie trudna do zrozumienia i wydaje mi sie iz moze czesci zgromadzonych tutaj osob pomoc zrozumiec choc po trosze dlaczego programowanie obiektowe ((IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) )jest ladniejsze i lepsze niz proceduralne.

Pliki ze wzgledu na wielkosc wrzucilem na phpfi.com - oto linki oraz nazwy jakie ja mialem oraz jakie sa wykozystane w przykladzie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Calosc zipnieta -> http://null.avx.pl/files/upload.zip

I przyklad
  1. <?php
  2. //dolaczamy pliki
  3. require_once('class.uploadException.php');
  4. require_once('class.uploadedFile.php');
  5. require_once('class.uploadManager.php');
  6.  
  7. //jesli sa jakies pliki i jest plik o id plik_testowy
  8. if(uploadManager::hasFiles() && uploadManager::has('plik_testowy'))
  9. {
  10. try
  11. {
  12. //tworzymy obiekt pliku
  13. $testFile=uploadManager::get('plik_testowy');
  14.  
  15. if(!$testFile->isOk())
  16. {
  17. //jesli cos jest nie tak wyrzuc wyjatek z wiadomoscia
  18. throw new uploadException($testFile->getErrorAsString());
  19. }
  20.  
  21. //sprawdzanie rozszerzenia
  22. if(!$testFile->isValidExt('jpg','txt'))
  23. {
  24. throw new uploadException('Niepoprawne rozszerzenie pliku');
  25. }
  26.  
  27. //sprawdzanie wielkosci
  28. if(!$testFile->isValidSize('1000 KB'))
  29. {
  30. throw new uploadException('Plik jest za duzy');
  31. }
  32.  
  33. //przeniesc ze stara nazwa do katalogu /data
  34. if(!$testFile->moveWithOriginalName('data'))
  35. {
  36. throw new uploadException('Nie udalo sie przeniesc pliku.');
  37. }
  38.  
  39. //Udalo sie ;]
  40. echo 'Plik<b> '.$testFile->getOriginalName().'</b> pomyslnie zuploadowano<br>';
  41. //Nieprawda ze to ladniej wyglada (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)  :-)
  42. }
  43. catch(uploadException $e)
  44. {
  45. //Lapiemy wyjatek i wypisujemy co nam powiedziano badz robimy co chcemy ;]
  46. echo $e->getMessage();
  47. }
  48. }
  49.  
  50. ?>
  51. <form method='POST' enctype='multipart/form-data'>
  52. Wybierz: <input type="file" name='plik_testowy'> 
  53. <input type='submit' values='Zuploaduj'>
  54. </form>


Wydaje mi sie ze komentarze sa wystarczajace - jak cos bedzie nie tak to pytac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


---
poprawilem linki do phpfi (tak trzeba: [ url=http://phpfi.com/137251]http://phpfi.com/137251[ /url]) i dodalem programowanie OBIEKTOWE

Ten post edytował dr_bonzo 5.08.2006, 09:19:53
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:50