Codeigniter, caricamento e config
-
28-10-2019 - |
Domanda
Vorrei configurare il mio caricamento usando /config/upload.php. Tuttavia, alcuni dei miei elementi di configurazione varieranno a seconda della situazione. Nella maggior parte dei casi, la directory di caricamento è impostata dinamicamente (ad esempio incorpora l'ID dell'utente, utilizza una cartella casuale, ecc.). A volte, il tipo di file che può essere caricato sarà diverso (ad esempio solo le foto in un caso, solo video in un altro caso).
Posso mettere gli elementi di configurazione generale in /config/upload.php e aggiungere/sovrascrivere alcune cose in seguito? Se é cosi, come?
Soluzione
Nel tuo controller che stai utilizzando per caricare devi solo ridefinire le opzioni per la libreria di caricamento e inizializzarle di nuovo.
$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);
// Alternately you can set preferences by calling the initialize function. Useful if you auto-load the class:
$this->upload->initialize($config);
Perderai tutti i tuoi elementi di configurazione predefiniti, sono abbastanza sicuro, quindi dovrai rifare quelli
AGGIORNARE
Dopo aver esaminato un po 'di più questo potrebbe essere possibile. Se guardi il Upload
libreria ci sono funzioni all'interno di dove puoi set
alcune delle variabili. Non ci sono set
funzioni per tutti e potrebbero non essere tutti un set
funzione che puoi usare. Quindi potresti fare qualcosa del genere.
$this->load->library("Upload"); // loads upload library with predefined config items in config/upload.php
//to change upload path
$this->upload->set_upload_path("new location");
//CANNOT DO THIS BECAUSE ITS USED IN do_upload function you would need to extend the upload library and create your own set function.
$this->upload->set_filename("new filename");
$this->upload->do_upload();
Altri che sembrano possono essere usati per impostare i valori
set_max_filesize
set_max_filename
set_max_width
set_max_height
set_allowed_types