Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CI] Upload 3ech plików z jednego forma
john_doe
post 13.12.2011, 15:05:40
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


Witam,

mam formularz z trzema polami input type="file"
Każe z nich ma inne name

motoda w modelu ( 1 parametr to nazwa pola input type="file", 2 parametr to dozwolone rozszerzenia plików, 3 parametr ma służyć mi czy robić mini czy nie)
  1. function do_upload($my_file, $types, $flaque) {
  2.  
  3. $config = array(
  4. 'allowed_types' => $types, //'jpg|jpeg|gif|png',
  5. 'upload_path' => $this->gallery_path,
  6. 'overwrite' => true,
  7. 'max_size' => 2000
  8. );
  9.  
  10. $this->load->library('upload', $config);
  11. $this->upload->do_upload($my_file);
  12. $image_data = $this->upload->data();
  13.  
  14. if($flaque == 1)
  15. {
  16. $config = array(
  17. 'source_image' => $image_data['full_path'],
  18. 'new_image' => $this->gallery_path . '/thumbs',
  19. //'create_thumb' => TRUE,
  20. 'maintain_ration' => true,
  21. 'width' => 150,
  22. 'height' => 100
  23. );
  24.  
  25. $this->load->library('image_lib', $config);
  26. $this->image_lib->resize();
  27. }
  28.  
  29.  
  30. }


i wywołanie w kontrolerze

  1. function index() {
  2.  
  3. $this->load->model('Gallery_model');
  4.  
  5. if ($this->input->post('upload')) {
  6.  
  7. $this->Gallery_model->do_upload('myFile', 'jpg|gif|png|jpeg', 1); // robi mini
  8.  
  9. $this->Gallery_model->do_upload('pdf1', 'pdf', 0); // nie ma robić mini
  10.  
  11. }
  12.  
  13. }


dlaczego uploaduje mi obraz a pdf nie?
jak puszczę tylko pdf to uploaduje sad.gif

teraz jeszcze jak pobrać nazwę zuploadowanego pliku -> muszę to do bazy zapakoać


pozdrawiam
Go to the top of the page
+Quote Post
qrooel
post 13.12.2011, 15:21:49
Post #2





Grupa: Zarejestrowani
Postów: 306
Pomógł: 42
Dołączył: 25.03.2010
Skąd: Kraków

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


W starym CI, chyba 1.7, zrobiłem to jak poniżej.


  1. public function attachments_proccess()
  2. {
  3. $this->load->library('upload');
  4.  
  5. $y = 0;
  6. foreach($_FILES as $file)
  7. {
  8. if($file['name'] != '')
  9. {
  10. $ext = preg_replace("/.*\.([^.]+)$/","\\1", $file['name']);
  11. $config['allowed_types'] = $ext.'|'.$file['type'];
  12. $config['upload_path'] = './attachments/';
  13. $config['max_size'] = '0';
  14.  
  15. $this->upload->initialize($config);
  16.  
  17. $this->upload->do_upload($y);
  18. $upload_data = $this->upload->data();
  19.  
  20. $data = array(
  21. 'file_name' => $upload_data['file_name'],
  22. 'raw_name' => $upload_data['raw_name'],
  23. 'file_own_name' => $_POST['file_own_name'][$y],
  24. 'file_order' => $_POST['file_order'][$y],
  25. 'in_use' => 0
  26. );
  27.  
  28. $this->db->insert('attachments', $data);
  29.  
  30. unset($upload_data);
  31. unset($config);
  32. }
  33. $y++;
  34. }


--------------------
Strony WWW: http://arscreo.pl
Go to the top of the page
+Quote Post
szok
post 14.12.2011, 10:52:02
Post #3





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Bo za każdym razem ładujesz na nowo bibliotekę upload, zamiast zainicjonować nową konfigurację.

Swoja drogą nie wiem czy nie lepiej jak upload plików zostawisz w kontrolerze zamiast w modelach. W dokumentacji CI przykłady które są są właśnie w kontrolerach a nie modelach.




--------------------
Go to the top of the page
+Quote Post

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: 24.06.2025 - 11:25