Question

Je voudrais configurer mon téléchargement à l'aide /config/upload.php. Cependant, certains de mes éléments de configuration varieront en fonction de la situation. Dans la plupart des cas, le répertoire de téléchargement est défini dynamiquement (par exemple, il intègre l'ID de l'utilisateur, utilise un dossier aléatoire, etc.). Parfois, le type de fichiers pouvant être téléchargés sera différent (par exemple, les photos dans un cas, seulement des vidéos dans un autre cas).

Puis-je mettre les éléments de configuration généraux dans /config/upload.php et ajouter / remplacer certaines choses plus tard? Si c'est le cas, comment?

Était-ce utile?

La solution

Dans votre contrôleur que vous utilisez pour télécharger, vous avez juste besoin de redéfinir les options de la bibliothèque de téléchargement et de les initialiser à nouveau.

$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);

Vous perdrez tous vos éléments de configuration prédéfinis, je suis presque sûr que vous devrez donc les refaire

METTRE À JOUR

Après avoir examiné cela un peu plus, cela peut être possible. Si vous regardez le Upload bibliothèque Il y a des fonctions à l'intérieur où vous pouvez set Certaines des variables. Il n'y a pas set fonctions pour tous et ils ne sont peut-être pas tous un set fonction que vous pouvez utiliser. Vous pouvez donc faire quelque chose comme ça.

$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();

D'autres qui ressemblent peuvent être utilisés pour définir des valeurs

set_max_filesize
set_max_filename
set_max_width
set_max_height
set_allowed_types
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top