2016-08-01 11 views
-1

Ich versuche, die Upload-Bibliothek von CodeIgniter zu verwenden, aber ich halte auf einen Fehler bekommen:strrpos() erwartet Parameter 1 sein Zeichenfolge mit dem angegebenen Array

A PHP Error was encountered 

Severity: Warning 

Message: strrpos() expects parameter 1 to be string, array given 

Filename: libraries/Upload.php 

Line Number: 1178 

Backtrace: 

File: C:\xampp\htdocs\schoolPortal\application\controllers\StudentAffairs.php 
Line: 207 
Function: do_upload 

File: C:\xampp\htdocs\schoolPortal\index.php 
Line: 292 
Function: require_once 

Ich weiß nicht, was, weil ich der Fehler ist habe den gleichen Code in andere Funktion des gleichen Controllers kopiert, aber dieser funktioniert.

Hier ist ein Beispiel für den Code in der Steuerung:

  $img_name = $this->InfoModel->getFirstNullAnnouncement(); 

      $config['upload_path']   = './images/'; 
      $config['allowed_types']  = 'gif|jpg|png'; 
      $config['max_size']    = 5000; 
      $config['max_width']   = 3000; 
      $config['max_height']   = 4000; 
      $config['overwrite']   = TRUE; 
      $config['file_name']   = $img_name; 

      $this->load->library('upload', $config); 
      $this->upload->initialize($config); 

      $img = "userfile"; 

      $id = $this->session->userdata('id'); 
      $user['user'] = $this->UsersModel->select_student_affairs($id); 

      if (!$this->upload->do_upload($img)){ 
       $data['error'] = $this->upload->display_errors(); 

       $this->load->view('include/header_student_affairs',$user); 
       $this->load->view('studentaffairs/add_announcement', $data); 
       $this->load->view('include/footer_student_affairs'); 
      } else { 
       $img_path = 'images/'.$this->upload->data('orig_name'); 
       $data['success'] = 'Announcement has been updated.'; 
       $data['announcements'] = $this->InfoModel->getAnnouncements(); 
       $data['announcenum'] = $this->InfoModel->getAnnouncementCount(); 

       $this->InfoModel->updateAnnouncement($img_path); 

       $imgdata = $this->upload->data(); 
       $thumbnail = $imgdata['raw_name'].'_thumb'.$imgdata['file_ext']; 
       $this->createThumbnail($img_path, $img_id, $thumbnail); 

       $this->load->view('include/header_student_affairs',$user); 
       $this->load->view('studentaffairs/announcements', $data); 
       $this->load->view('include/footer_student_affairs'); 
      } 

Linie 207 ist diese:

if (!$this->upload->do_upload($img)){ 

Die $this->upload->display_errors(); erzeugt einen Fehler: T he filetype you are attempting to upload is not allowed.

Bitte helfen

+0

ist Können Sie den Code für die Methode do_upload hinzufügen? versuchen Sie uns den Fluss zu zeigen, bis Sie zur strrpos Methode kommen. Wie lautet der Name der Datei, die Sie hochladen möchten? – Eduardo

+0

Die Methode do_upload befindet sich in der Upload-Bibliothek von codeigniter – aronccs

+0

Der Fehler ist in 'upload.php' Datei. Wo ist es? In der Zwischenzeit Überprüfen Sie diese http://php.net/manual/en/function.strrpos.php – jonju

Antwort

0

Vielleicht die Erweiterung Ihrer Datei, die abo ut zum Hochladen ist .jpeg, die nicht auf der Liste der $config['allowed_types'] ..

Verwandte Themen