2017-04-18 8 views
1

Ich versuche, ein Benutzerprofil zu erstellen und fügen Sie ihm eine Profilbildfunktion in coderigniter, ich kopiere einfach eingefügt den Dateiupload-Code in der Dokumentation angegeben, aber es zeigt error.my View-Datei istFehler beim Hochladen der Image-Datei

<?php echo form_open_multipart('upload/do_upload');?> 

<input type="file" name="userfile" size="20" /> 

<br /><br /> 

<input type="submit" value="upload" /> 

mein Controller ist

<?php 

class Upload extends CI_Controller { 

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



    public function do_upload() 
    { 
      $config['upload_path']   = './images/'; 
      $config['allowed_types']  = 'gif|jpg|jpeg|png'; 
      $config['max_size']    = 100; 
      $config['max_width']   = 1024; 
      $config['max_height']   = 768; 

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

      if (! $this->upload->do_upload('userfile')) 
      { 
        $error = array('error' => $this->upload->display_errors()); 

        echo'not happening'; 
      } 
      else 
      { 
        $data = array('upload_data' => $this->upload->data()); 

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

es zeigt Fehler hier über meine ich es nicht passiert "hallt, was bedeutet, es nicht jemand uploading.if kann mir bitte helfen, wird es groß .

+0

Welche Fehler wird es zeigen, zu schließen? –

+0

[Warum kann "Kann mir jemand helfen?" Keine Frage?] (Http://meta.stackoverflow.com/q/284236) –

+0

Hat der Webserver Schreibrechte für den Ordner, in den er hochgeladen wird? es gibt wahrscheinlich eine 90% ige Chance, dass es nicht und dies ist Berechtigungen bezogen – gabe3886

Antwort

1

Warum überprüfen Sie nicht, was der genaue Fehler ist? Ich habe gerade den Code aktualisiert, um genauen Fehler zu verfolgen, den codeigniter zurückgibt.

if (! $this->upload->do_upload('userfile')) 
{ 
    $error = array('error' => $this->upload->display_errors()); 
    echo '<pre>'; 
    print_r($this->upload->display_errors()); 
} 
0

Sie die Bibliothek geladen haben zweimal manchmal fand ich Ursachen Probleme, die Sie haben eine im Konstruktor gesetzt und eine in der Funktion

wie unten Versuchen und $this->upload->initialize($config); in der Funktion und der Ladebibliothek im __constructor verwenden.

https://www.codeigniter.com/user_guide/libraries/file_uploading.html#preferences

<?php 

class Upload extends CI_Controller { 

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

    public function do_upload() 
    { 
      $config['upload_path'] = './images/'; 
      $config['allowed_types'] = 'gif|jpg|jpeg|png'; 
      $config['max_size'] = 5000; 
      $config['max_width'] = 0; 
      $config['max_height'] = 0; 

      $this->upload->initialize($config); 

      if (! $this->upload->do_upload('userfile')) 
      { 
        $error = array('error' => $this->upload->display_errors()); 

        echo'not happening'; 
      } 
      else 
      { 
        $data = array('upload_data' => $this->upload->data()); 

        $this->load->view('upload_success', $data); 
      } 
    } 
} 

Hinweis keine Notwendigkeit codeigniter Controller und Modelle mit ?> als sagt in Bedienungsanleitung

application 

// Where you upload images to 

images 

system 

index.php 
Verwandte Themen