Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana] walidacja plików z osobna
nmts
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 34
Dołączył: 21.03.2008

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


Poniższa metoda ma za zadanie zapisać nowe zdjęcia do kategorii lub utworzyć nową kategorię i dodać od razu zdjęcia, poniższy kod dotyczy tego drugiego tylko.
Gdyby było jedno zdjęcie to bym Validate:factory przekazał $_FILES i metodzie rules ustawił 'photo' jak poniżej. Ale zdjęć może być wiele, więc jak sprawdzić każde osobno aby w przypadku gdy któreś będzie nieprawidłowe resztę uploadowało? (IMG:style_emoticons/default/snitch.gif)

Próbowałem jakoś z foreach'ować $_files ale i tak trzeba wtedy podać nazwę inputa, więc poniższa walidacja jest oczywiście zła. (IMG:style_emoticons/default/snitch.gif)
  1.  
  2. function action_save($gallery_id = null) {
  3. if($_POST){
  4. if(!$gallery_id){
  5. $gallery = ORM::factory('gallery');
  6. $gallery->name = $_POST['name'];
  7. $gallery->date = time();
  8.  
  9. foreach($_FILES as $one_photo){
  10. echo '<pre>';
  11. var_dump($one_photo);
  12. echo '</pre>';
  13. $photo = Validate::factory($one_photo)
  14. -> rules('photo', array('Upload::valid' => NULL,
  15. 'Upload::type' => array(array('jpg', 'png', 'gif')),
  16. 'Upload::size' => array('3M'),
  17. 'Upload::not_empty' => NULL));
  18.  
  19. if($photo->check())
  20. {
  21. $filename = upload::save($one_photo);
  22. $save_as = basename($filename);
  23.  
  24. Image::factory($filename)
  25. ->resize(200, 200, Image::AUTO)
  26. ->save(DOCROOT.'/photos/thumb_'.$save_as);
  27.  
  28. // zapis zdjec do bazy
  29.  
  30. unlink($filename);
  31. }
  32. }
  33. $gallery->save();
  34. } else {
  35. // update
  36. }
  37. }
  38. // $this->redirect("admin/galleries/edit/".$gallery_id);
  39. }


Pytanie dodatkowe, czy ORM ma metodę zwracającą id nowo powstałego elementu w bazie?
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: 24.12.2025 - 22:57