1
我想使用/config/upload.php配置我的上傳。但是,我的一些配置項目會因情況而異。在大多數情況下,上傳目錄是動態設置的(例如,它包含用戶的ID,使用隨機文件夾等)。有時候,可以上傳的文件類型將會有所不同(例如,只有一張照片有照片,另一張照片只有照片)。CodeIgniter,上傳和配置
我可以把一般的配置項放在/config/upload.php中,並在以後添加/重寫某些東西嗎?如果是這樣,怎麼樣?
我想使用/config/upload.php配置我的上傳。但是,我的一些配置項目會因情況而異。在大多數情況下,上傳目錄是動態設置的(例如,它包含用戶的ID,使用隨機文件夾等)。有時候,可以上傳的文件類型將會有所不同(例如,只有一張照片有照片,另一張照片只有照片)。CodeIgniter,上傳和配置
我可以把一般的配置項放在/config/upload.php中,並在以後添加/重寫某些東西嗎?如果是這樣,怎麼樣?
在您用於上傳的控制器中,您只需重新定義上傳庫的選項並重新初始化它們即可。
$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);
你將失去所有的預定義的配置項目我敢肯定,所以你需要重做那些
UPDATE
尋找到經過這一點這是可能的。如果您查看Upload
庫,那麼您可以在set
的某些變量中使用函數。所有功能都沒有set
功能,它們可能不全都是您可以使用的set
功能。所以你可以做這樣的事情。
$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();
其他看起來像可用於設定值
set_max_filesize
set_max_filename
set_max_width
set_max_height
set_allowed_types
那不是我想做的事情。我只是想重寫某些配置值。如果我每次上傳都要這樣做,那麼在/config/upload.php中沒有任何意義。 – StackOverflowNewbie 2012-02-22 03:26:32
@StackOverflowNewbie我已經更新了我的答案 – Henesnarfel 2012-02-22 16:27:22
@Henesnarfel這很好。謝謝:)我用abmove方法重新定義允許的文件類型。 – fl3x7 2012-05-25 12:11:36