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
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
Die Methode do_upload befindet sich in der Upload-Bibliothek von codeigniter – aronccs
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