![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Potrzebuje zrobić multiple upload plików, ale niestety nie wiem jak zabrać się za to w cakephp czy mógłby ktoś pomoc podpowiedzieć gdzie mogę o tym poczytać ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A w czym problem?
Wrzucasz form do widoku, robisz akcje form na jakiś kontroler i tam standardowo obsługa uploadu (przykładny w manualu php) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 13 Dołączył: 20.09.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
A jakiego rodzaju "multiple upload plików" chcesz zrobić? Jakiś prosty? Jakiś bardziej rozbudowany? Jakiś z dynamicznym dodawaniem pól typu file?
http://book.cakephp.org/2.0/en/core-librar...lpers/form.html Pierwszy to wstawienie ::file - tutaj problemów nie powinieneś mieć. Drugi zależy od tego, co chcesz osiągnąć. Trzeci może sprawiać problem, jeśli używasz Security. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Powiedzmy że już coś udało mi się zrobić:
Korzystam z tego: http://blueimp.github.io/jQuery-File-Upload/ Bez cakephp biblioteka działa super tworzy tymczasowe pliki i można je łatwo odczytać. Tylko teraz pytanie jak to przenieść do cakephp. gdzie w cakephp zrobić przechowywanie plików dodatkowo poniższy skrypt odwołuje się do strony: '../server/php/, Czyli stworzyć nowy controller i widok który to obsłuży ? Gdzie w cakephp powinno się przechowywać pliki? /webroot/files?
Ten post edytował Randallmaster 12.08.2014, 09:18:28 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 13 Dołączył: 20.09.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Kod $('#fileupload').fileupload({ url: 'url_strony' }); z tego, co widzę, potrzebne Ci jedynie to, ale możesz dodać jakieś bajery, które są opisane w źródle dema. Co do umieszczenia tego w kodzie cake - nie wiem, jaką masz strukturę swojej aplikacji, ale: tak, musisz obsłużyć to jakąś akcją w kontrolerze. Widok niekoniecznie będzie potrzebny, bo pliki idą ajax-em, więc będzie on tylko sprawiał problemy. Wyłączyć go możesz (o ile dobrze pamiętam) Kod $this->render(false); albo Kod $this->render(null); Ewentualnie poszukaj gdzieś na stack overflow - ja nie bardzo mam możliwość.Do akcji dodajesz wywołanie takie, jak w https://github.com/blueimp/jQuery-File-Uplo...r/php/index.php Kod $upload_handler = new UploadHandler([tutaj opcje takie jak 'upload_dir']); oczywiście po uprzednim załadowaniu tej klasy. Nie jestem pewien, czy cake obsłuży takie żądanie bez problemów, ale jeśli programista, który utworzył tę bibliotekę, wiedział, co robi, to nie powinno być problemu. Gotowcem całego kodu nie sypnę z wielu powodów. Głównym jest to, że już po pierwszym spojrzeniu widzę, że jakość tego rozwiązania pozostawia wiele do życzenia - może nie po stronie kodu, ale obsługi i dokumentacji. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
postaram się to zrobić a czy posiadasz dla cakephp jakieś rozwiązanie uploadów? Aby to działało tak jak w tym przykładzie?
Mógłbyś mi jeszcze odpowiedzieć na te pytania: Gdzie w cakephp przechowywać pliki? oraz czy pliki tymczasowe powinno zapisywać się do tmp? Dziękuje czychacz ![]() Mogę powiedzieć że plugin działa ![]() ![]() Gdyby ktoś miał problemy proszę pisać ![]() Ten post edytował Randallmaster 12.08.2014, 10:43:12 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 13 Dołączył: 20.09.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Gdzie w cakephp przechowywać pliki? Filozofia nie różni się od przechowywania w przypadku innych frameworków. Pliki, które nie powinny być bezpośrednio udostępniane na zewnątrz, trzeba przechowywać w katalogu, do którego użytkownik zewnętrzny nie będzie miał dostępu (jakiś katalog typu 'jakaś_ścieżka/files' lub nawet podkatalog aplikacji cake - jednak w tym drugim przypadku trzeba uważać, żeby się bałagan nie zrobił). oraz czy pliki tymczasowe powinno zapisywać się do tmp? Na to pytanie odpowiedź jest oczywista - tak. Problemem jest tylko to, czy katalog będzie czyszczony w odpowiedni sposób (oczywiście preferowane jest użycie tmp php-owskiego - sprawia najmniej kłopotów). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 13:45 |