2016-04-17 3 views
0

zu bekommen habe ich upload.php Seite wie folgt =>Wie die hochgeladene Dateinamen von upload.php Seite Codeigniter

<?php 

    class Upload extends CI_Controller { 

     public function __construct() { 
     parent::__construct(); 
     $this->load->helper(array('form', 'url')); 
     } 

     public function index() { 
     $this->load->view('upload_form', array('error' => ' ')); 
     } 

     public function do_upload() { 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png|pgn'; 
     $config['max_size']  = 0; 
     //$config['max_width']  = 1024; 
     //$config['max_height'] = 768; 
      $config['detect_mime'] = TRUE; 
     $this->load->library('upload', $config); 

     if (! $this->upload->do_upload('userfile')) { 
      $error = array('error' => $this->upload->display_errors()); 
      $this->load->view('upload_form', $error); 
     } 

     else { 
      $data = array('upload_data' => $this->upload->data()); 
      $this->load->view('upload_success', $data); 
     } 
     } 
    } 
?> 

und die Hesaplama.php Controller als =>

$upload_data = $this->upload->data(); //(line 51) Should return array of containing all of the data related to the file you uploaded. 
    $file_name = $upload_data['file_name']; 
    $file = fopen("<?php echo site_url('uploads/$file_name'); ?>", "r"); 

    while(! feof($file)) 
     {... 

aber ich Erhalten Sie den folgenden Fehler =>

A PHP Error was encountered 

Severity: Notice 

Message: Undefined property: Hesaplama::$upload 

Filename: controllers/Hesaplama.php 

Line Number: 51 

Backtrace: 

File: D:\wamp\www\proje\application\controllers\Hesaplama.php 
Line: 51 
Function: _error_handler 

File: D:\wamp\www\proje\application\controllers\Hesaplama.php 
Line: 249 
Function: pgn_oku 

File: D:\wamp\www\proje\application\controllers\Welcome.php 
Line: 28 
Function: pozisyon_tutma 

File: D:\wamp\www\proje\index.php 
Line: 292 
Function: require_once 

Wie können wir das beheben und den Dateinamen der neu hochgeladenen Datei abrufen? Ich persönlich denke, dass das Programm die Daten auf einer anderen Seite (Controller) nicht erkennt. Danke ...

+1

Put '$ config [ 'max_size'] = 0 verwenden können;' ohne Limit. – Tpojka

+0

Hallo @Tpojka danke. Während ich Tutorials durchforstete, fand ich das auch und wollte es benutzen. Vielen Dank. – Otag

+1

Achten Sie auf die Werte, die Sie zuweisen, und verwenden Sie sie sorgfältig. Sie haben dort eine 23/24-stellige Nummer angegeben, aber überprüfen Sie [hier] (http://php.net/manual/en/language.types.integer.php) was das größte int erlaubt ist. Sie müssen überlegen, welche Dateien hochgeladen werden sollen, und da es sich um Bilder/Bilder handelt, können in diesem Wert nicht mehr als 50 MB oder 50000 eingestellt werden. Die zweite Sache ist, den php.ini Wert zu sehen, da php_max_upload_size sehr oft auf 2 MB gesetzt ist. Das fängt einfach an, ohne dein Problem wirklich zu lösen. Zulässige Typen string sollte nicht mit der Pipe '|' enden. Es ist unklar, welche URL du eingibst, da du 3 Controller hier hast. – Tpojka

Antwort

0

Sorry ich kann noch nicht kommentieren, also schreibe ich es hier. Ich denke, die Bibliothek für

$this->upload->data(); 

wurde nicht geladen.

Wenn Sie nur den Dateinamen abrufen möchten, können Sie vielleicht versuchen, Sitzung zu verwenden. in hochladen Controller:

$data = $this->upload->data(); 
$this->session->set_userdata('filename', $data['file_name']); 

in Hesaplama:

$filename = 'uploads/'.$this->session->userdata('filename'); 
$file = fopen("<?php echo site_url('$filename'); ?>", "r"); 

hoffen, dass diese Hilfe.

0

den Dateinamen und Erweiterung Datei, um es in einem DB zu speichern tis

<?php 

    class Upload extends CI_Controller { 

     public function __construct() { 
     parent::__construct(); 
     $this->load->helper(array('form', 'url')); 
     } 

     public function index() { 
     $this->load->view('upload_form', array('error' => ' ')); 
     } 

     public function do_upload() { 
     $config['upload_path']  = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png|pgn'; 
     $config['max_size']  = 0; 
     $config['detect_mime'] = TRUE; 

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

     if(! $this->upload->do_upload('userfile')) { 
      $error = array('error' => $this->upload->display_errors()); 
      $this->load->view('upload_form', $error); 
     } 
     else { 
      $upload_data = $this->upload->data(); 

      /* 
      Array 
      (
        [file_name] => mypic.jpg 
        [file_type] => image/jpeg 
        [file_path] => /path/to/your/upload/ 
        [full_path] => /path/to/your/upload/jpg.jpg 
        [raw_name]  => mypic 
        [orig_name] => mypic.jpg 
        [client_name] => mypic.jpg 
        [file_ext]  => .jpg 
        [file_size] => 22.2 
        [is_image]  => 1 
        [image_width] => 800 
        [image_height] => 600 
        [image_type] => jpeg 
        [image_size_str] => width="800" height="200" 
      ) 
      */ 

      $this->model->save_img_info($upload_data['file_name']); 

      $data = array('upload_data' => $upload_data); 
      $this->load->view('upload_success', $data); 
     } 
     } 
    } 
?>