2017-04-10 3 views
0

Der Dateiname einer Datei wird gelesen, die als Teil eines Formulars hochgeladen wird. Der Befehl print_r, den ich zum Testen verwende, zeigt nur einen leeren Bildschirm. Ich habe das Handbuch dazu gelesen (in der Nähe des unteren here) und verstehe nicht, was ich falsch mache.Codeigniter kann den Dateinamen der hochgeladenen Datei nicht lesen

Controller:

public function do_upload() { 
    $config['upload_path'] = './uploads/'; 
    $config['allowed_types'] = 'gif|jpg|png|txt|pdf|xlsx|csv|xls|bmp'; 
    $config['max_size']  = 1000; 

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

    print_r($file_name); 

Ausblick:

<?php echo form_open_multipart('Corpmuns/do_upload', array('method' => 'post'));?> 

... // some drop-down menus and text fields here 

<INPUT TYPE="file" NAME="userfile" id="userfile" > 

</form> 
+0

Hallo, ich habe Ihren Controller in meiner Antwort korrigiert. prüfen Sie. – Gaurav

Antwort

1

Sie haben die Upload-Aktion nicht tun, so dass die Datei noch nicht hochgeladen wurde. Deshalb können Sie den Namen der hochgeladenen Datei nicht abrufen. Weil es nicht existiert. Code $this->upload->do_upload('userfile') und stellen Sie sicher, dass die Datei erfolgreich hochgeladen wird, bevor Sie den Dateinamen erhalten.

+0

Danke, das hat funktioniert. Wie kann ich es auch umbenennen? Wenn ich versuche, ['file_name'] mit einem neuen Namen zu konfigurieren, dann ist $ file_name = $ this-> upload-> data ('orig_name'); zeigt mir den neuen Namen. Ich möchte den ursprünglichen Namen und umbenennen. – David

+0

@David versuchen '$ this-> upload-> data ('client_name')' – aszx0413

-1
<form action="" enctype="multipart/form-data" method="post" 
name="uploadfile"> 

Sie enctype = "multipart/form-data"

+1

'form_open_multipart()' erstellt ein Formular-Tag mit 'enctype =" multipart/form-data "' – JapanGuy

0

Anruf do_upload Funktion von Upload-Bibliothek hinzufügen sollte.

Update-Controller:

public function do_upload() { 
    $config['upload_path'] = './uploads/'; 
    $config['allowed_types'] = 'gif|jpg|png|txt|pdf|xlsx|csv|xls|bmp'; 
    $config['max_size']  = 1000; 

    $this->load->library('upload', $config); 
    if ($this->upload->do_upload('userfile')) { //use this function 

     $data['error'] = false; 
     $upload_data = $this->upload->data(); 
     $data['data'] = $upload_data; 
     $data['msg'] = 'Image Successfully Uploaded.'; 

    } else { 

     $data['msg'] = $this->upload->display_errors('', '<br>'); 

    } 

    print_r($data) 
} 
0
 if (! $this->upload->do_upload('input_name')) 
     { 
      echo $this->upload->display_errors(); 
     } 
     else 
     { 

      $file=$this->upload->data(); 

      echo $image=$file['file_name'];//Set file name to varilable 


     } 
    } 
Verwandte Themen