Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V  < 1 2  
Reply to this topicStart new topic
> Upload
Cysiaczek
post 3.11.2007, 00:34:37
Post #21





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Robisz sobie jeden plik = jedna klasa i dołaczasz biblioteki w upload.php - ponieżej cała zawartośc tego pliku - nic więcej nie trzeba (no jakiś komunikat by się przydał ; p )

  1. <?php
  2. include_once("imageFilterIterator.class.php");
  3. include_once("imageUploadFilter.class.php");
  4.  
  5. $files=new imageUploadFilter(new ArrayIterator($_FILES));
  6. foreach($files as $file)
  7. {
  8. $folder='/odebrane/'.$file['tmp_name'];
  9. move_uploaded_file($file['tmp_name'], $folder);
  10. }
  11. ?>


@marcio - ale i tak ono nie działa poprawnie - ma poważnego buga ; p
btw, OOP po prostu trzeba się dzisiaj uczyć, bo to jest standard - bez tego nie dostaniesz żadnej sensowej pracy.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
drPayton
post 3.11.2007, 00:36:50
Post #22





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


A tak btw: rozwiązanie które podał @marcio jest funta kłaków niewarte. Złoży się jeśli w nazwie pliku wystąpi kropka. Jeśli już, to nie:
  1. <?php
  2. $explode = explode('.', $_FILES['plik1']['name']);
  3. (...)
  4. $explode[1] (...)
  5. ?>

tylko:
  1. <?php
  2. $explode = explode('.', $_FILES['plik1']['name']);
  3. (...)
  4. $explode[sizeof($explode)-1] (...)
  5. ?>

Czy inaczej, byle ostatni element...

edit:
@Cysiaczek: to miałeś na myśli? winksmiley.jpg

added: Znajomość OOP jest wymagana od profesjonalisty, ale nawet duże aplikacje mogą być proceduralne (vide phpMyAdmin)...
Tu jak wiadomo trwa wieczny i wciąż nierozstrzygnięty spór smile.gif

Ten post edytował drPayton 3.11.2007, 00:39:26
Go to the top of the page
+Quote Post
Cysiaczek
post 3.11.2007, 00:44:31
Post #23





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@drPayton - ale po co kombinować z sizeof? Jest strrchr" title="Zobacz w manualu PHP" target="_manual, które zwraca cały ciąg znaków OD momentu ostatniego wystąpienia żądanego znakum czyli w pliku to.jest.nazwa.pliku.jpeg
Zakładamy oczywiście, że poprawny plik graficzny powinien mieć jakieś rozszerzenie. Jeśli nie, to pozostaje mime.
  1. <?php
  2. print strrchr('to.jest.nazwa.pliku.jpeg', '.');
  3. // .jpeg
  4. ?>


Potem najwyżej można sobie odciąć kropkę ; p

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
marcio
post 3.11.2007, 01:03:08
Post #24





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


ja wiem z jesli jest kropka to kicha skrypt sie rozwali ale to bylo najlatwiejsze co mozna zrobic wiec podalem a w php geniuszem nie jestem ale to co podal drPraton jest dobre o tym nie pomyslalem zeby policzyc na ile czesci policzy ciag i wyciagnac ostatni po ostatnoej kropce widac ze jeszcze nie mysle programistycznie

a tak btw o jakiego buga chodzi o tego co podal djpraton?


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
drPayton
post 3.11.2007, 01:20:24
Post #25





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


djpraton? Podoba mi się, chyba zmienię biggrin.gif
Faktycznie, zamiast bawić się countem lepiej strrchr, tak jak napisał @Cysiaczek (dlatego zaznaczyłem "Czy inaczej, byle ostatni element...") winksmiley.jpg
@marcio Na Twoje pytanie odpowiedzieć musi oczywiście Cysiaczek natomiast powiem Ci, że takie podejście (obiektowe) ma jedną zasadniczą zaletę: łatwość dokonywania zmian i czytelność kodu.

edit: drPraton też mi się podoba tongue.gif
Go to the top of the page
+Quote Post
marcio
post 3.11.2007, 13:41:54
Post #26





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


drPAYTON sorki ze 2 razy pomylilem twoj nikc smile.gif
Ok teraz czekam na odpowiedz Cyciaszek.
Ale ja mam problemy z OOP wiec wole pisac proceduralnie biggrin.gif ale szkoda.A tak apropo to nie wiedzialem ze jest taka funckja jak strchr() ale wszystkoego wiedziec nie mozna jak dla mnie rozwiazanie z explode ale te twoje jest najbardziej optymalne tylko nie wiem jakiego ma buga tongue.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Cysiaczek
post 3.11.2007, 15:01:59
Post #27





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Właśnie tego zwiąanego z ilością kropek w nazwie pliku.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
marcio
post 3.11.2007, 16:08:01
Post #28





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


ok dzieki za odpwiedz ale czy taki blad moze wykorzystac ktos kto upload'uej plik z wieksza iloscia kropek??
Ale czy rozwiazanie drPAYTON jest dobre??
Mi sie wydaje ze jest dobre i bezpieczne i chodzi bez problemow


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
drPayton
post 3.11.2007, 20:57:09
Post #29





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Ale co to znaczy wykorzystać? Tutaj po prostu właściwego pliku obrazka (z kropką w nazwie) nie dałoby się wgrać. Raz jeszcze - podejście obiektowe jest znacznie wygodniejsze i warto się w to zagłębić,a w międzyczasie stosować Twoje rozwiązanie z tą jedną zmianą o której napisaliśmy. Oczywiście dodatkowo trzeba by jeszcze jakieś ify na wypadek gdyby jakiś błąd wystąpił etc, ale schemat jest ok.
Ucz się OOP winksmiley.jpg To konieczność...
Go to the top of the page
+Quote Post
marcio
post 3.11.2007, 21:19:22
Post #30





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


ok poucze sie ale chodzilo mi o to ze cyciaszek napisal ze to jest bug wiec myslalem ze mozna to jakos wykorzystac jakby to nazwal blad to bym nie pytal ale wszystko ok biggrin.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 15.08.2025 - 01:59