2016-05-20 11 views
6

ich Datei in codeigniter bin Hochladen ändern mitDateierweiterung ist Großbuchstaben in Kleinbuchstaben in codeigniter

$this->upload->do_upload('image') 

aber wenn die Datei bewegt sich zu bestimmten Pfad die Dateierweiterung geändert wird (es wird geändert Fall zu senken)

zum Beispiel, wenn ich Datei "profile.jpg" upload ist es ändert sich auf "profile.jpg"

+1

Ich habe gedacht dies ein Vorteil ist, Sie wissen jetzt, alle Erweiterungen zu erwarten in Klein zu sein. Wenn Sie den Dateinamen in einer Datenbank speichern, die bricht, wenn Sie sie aufgrund der Groß-/Kleinschreibung abrufen, strtolower() alle Dateinamen beim Einfügen in DB – JohnnyFaldo

+1

Ja Johnny, das ist der Vorteil, aber warum Codeigniter es ändern. und strtolower() ist eine gute Option, danke dafür. –

+0

Ich bin nicht sicher, warum, meine beste Vermutung wäre, weil einige Systeme Groß-und Kleinschreibung, so dass dies normalisiert alle Dateierweiterungen bei Uploads. Das Migrieren Ihrer Site zu einem System, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird, könnte sich sonst als problematisch erweisen – JohnnyFaldo

Antwort

2

bitte CI-Systembibliothek

Standard in CI-Upload-Bibliothek $ file_ext_tolower = FALSE ändern.

.system \ Bibliotheken \ upload.php

public $file_ext_tolower = TRUE; 
1

do_upload erledigt diese

$ config [ 'alle owed_types'] = 'gif | jpg | png'

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

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

     if (! $this->upload->do_upload()) 
     { 
      $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); 
     } 
    } 

Wenn Sie denselben Namen/Erweiterung verwenden möchten Sie Ihre Datei speichern senden. Sie können:

$upload_dir= $this->config->item("upload_dir"); 
$fileName = $_POST['sku_code'].".".$extension; 
$filePath = $upload_dir.$fileName; 
move_uploaded_file($_FILES["image-file"]["tmp_name"],$filePath); 

Nützlicher Link:

https://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

Verwandte Themen