2016-11-18 16 views
1

Ich versuche, mehrere Bilder mit codeigniter hochladen das ist actullay funktioniert gut, aber ich möchte Bilder in bestimmten Verzeichnis speichern. Meine Verzeichnisstruktur istSo laden Sie mehrere Bilder mit codegniter

uploads/real/

in diesem Verzeichnis ich ein weiteres Verzeichnis mit dem Namen Benutzer-ID erstellen möchten so Verzeichnisstruktur wird

uplods/real/20

Ich habe Logik hinzugefügt und einen Code wie folgt geschrieben: Betrachten $ path = "real", und $ userid = "20"

function image_upload($path,$userid) 
    { 
     $basepath = "uploads/".$path; 
     echo "base-path > ".$basepath; 
     echo "<br>working-dir > ".getcwd(); 
     chdir($basepath); 
     echo "<br>working-dir > ".getcwd(); 
     if(!file_exists($userid)){ 
      mkdir($userid); 
      chdir($userid); 
      echo "<br>Working-dir > ".getcwd(); 
      $filesCount = count($_FILES['image']['name']); 
      echo "<br> FileCount > ".$filesCount; 
      for($i = 0; $i < $filesCount; $i++){ 
       $_FILES['img']['name'] = $_FILES['image']['name'][$i]; 
       $_FILES['img']['type'] = $_FILES['image']['type'][$i]; 
       $_FILES['img']['tmp_name'] = $_FILES['image']['tmp_name'][$i]; 
       $_FILES['img']['error'] = $_FILES['image']['error'][$i]; 
       $_FILES['img']['size'] = $_FILES['image']['size'][$i]; 

       echo "<br>FILES-Array > <pre>"; 
       print_r($_FILES); 
       echo "<pre>"; 

       $config['upload_path']= "/"; 
       $config['file_name']=$userid .$i. '.jpg'; 
       $config['allowed_types']= 'jpg|png'; 
       $config['max_size']= 2048; 

       echo "<br>CONFIG-Array > <pre>"; 
       print_r($config); 
       echo "<pre>"; 

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

       if (! $this->upload->do_upload('img')) 
       { 
        $error = array('error' => $this->upload->display_errors()); 
        echo "<br>UPLOAD-ERROR > <pre>"; 
        print_r($error); 
        echo "<pre>"; 
       } 
       else 
       { 
        $da = array('upload_data' => $this->upload->data()); 
        echo "_________IMAGE UPLOADED_______"; 
       } 
      } 

     }else{ 
      echo "<br>Folder Exist ..."; 
     } 
     die(); 

und Browser-Ausgabe ist:

base-path > uploads/real 
working-dir > C:\wamp64\www\ob_03 
working-dir > C:\wamp64\www\ob_03\uploads\real 
Working-dir > C:\wamp64\www\ob_03\uploads\real\20 
FileCount > 1 
    FILES-Array > 
Array 
(
    [image] => Array 
     (
      [name] => Array 
       (
        [0] => abhi.jpg 
       ) 

      [type] => Array 
       (
        [0] => image/jpeg 
       ) 

      [tmp_name] => Array 
       (
        [0] => C:\wamp64\tmp\php336F.tmp 
       ) 

      [error] => Array 
       (
        [0] => 0 
       ) 

      [size] => Array 
       (
        [0] => 72125 
       ) 

     ) 

    [img] => Array 
     (
      [name] => abhi.jpg 
      [type] => image/jpeg 
      [tmp_name] => C:\wamp64\tmp\php336F.tmp 
      [error] => 0 
      [size] => 72125 
     ) 

) 
CONFIG-Array > 
Array 
(
    [upload_path] =>/
    [file_name] => 180.jpg 
    [allowed_types] => jpg|png 
    [max_size] => 2048 
) 
_________IMAGE UPLOADED_______ 

ich keine Fehler immer auf Druck print_r($error); Aber Bild nicht hochgeladen zu meinem Verzeichnis WARUM?

+1

Könnte passieren, weil Sie es nicht zu sagen! Können Sie sehen, dass Sie Ihren Upload-Pfad auf '/' setzen? Das steht in deinem Code und auch in deiner Ausgabe. – TimBrownlaw

+0

Wenn ich den Upload-Pfad auf [upload_path] => uploads/real/18 setze, bekomme ich einen Fehler vom Fehler-Array [error] => Der Upload-Pfad scheint nicht gültig zu sein. –

+0

Werden deine Pfade erstellt, wenn du mkdir benutzt? Existieren sie? Hat Ihr Basisordner die richtigen Berechtigungen? – TimBrownlaw

Antwort

1

Versuchen Sie mit FCPATH für Uploads funktioniert manchmal besser.

FCPATH: Pfad zum Front-Controller (diese Datei) (Wurzel CI)

$config['upload_path'] = FCPATH . 'uploads/real/18/'; 

Oder versuchen

$config['upload_path'] = './uploads/real/18/'; 

Stellen Sie sicher, setzen Sie 0777 für Ordner Uploads Bild.

Verwandte Themen