Yii Upload Form | Upload Plików

Ponieważ jakiś czas już grzebię sobie w Yii Framework jednym z nurtujących mnie zagadnień do zrealizowania było stworzenie formularza z możliwością uploadu pliku, zdjęcia. Mój formularz dodaje zdjęcie i plik dla przykładu wykorzystałem tutorialowy blog Yii. W tworzeniu stron internetowych niezwykle ważne są elementu formularza typu file. A więc zacznijmy od kontrolera, który będzie miał za zadanie zapisanie naszego pliku w określonej przez nas lokalizacji. Dla kontrolera musimy utworzyć bądź zmodyfikować dwie akcje actionCreate(), actionUpdate().

Kontroler:

Funkcja Create jest dość prosta, ponieważ polega ona na pobraniu nazwy zdjęcia i pliku do zapisu w bazie danych, oraz na zapisie nowych plików pobranych poprzez formularz. Większy problem zaczyna się przy akcji Update, co opisałem dokładnie krok po kroku:

Kolejnym elementem naszego formularza który przeanalizuję będzie model w którym ustawimy wszystkie reguły. Na początek definiujemy nasze dwie zmienne image, oraz file.

Model:

Teraz przechodzimy do funkcji rules(), gdzie ustawimy nasze reguły. Ja z powodu braku takiej potrzeby nie ustawiałem żadnych reguł po za rodzajem pliku.

Model:

A więc jedyne, co nam pozostało do wykonania to edycja pliku widoku. Tak jak wspominałem, korzystałem z tutorialowego blogu yii tak więc edytowałem plik _form.php dla widoku Post, lecz można to zrobić z dowolnym formularzem np. wygenerowanym przez Gii. Wystarczy teraz wkleić kod widoku naszych pól image i file formularza.

Widok:

Najlepiej to wkleić przed ostatnimi elementami formularza lecz ułożenie jest dowolne :)

Od teraz możemy się cieszyć uploadem plików i zdjęć z naszego formularza. Na dzień dzisiejszy nie potrzebowałem tworzyć akcji usuwania plików lecz może zabiorę się za to już wkrótce:)

Thanks for laret :)

8 odpowiedzi na „Yii Upload Form | Upload Plików

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *


cztery × 6 =

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">