我使用Cakephp作爲我的框架。我在通過表單上傳文件時遇到問題。我正在使用來自 THIS網站的上傳器插件。Cakephp文件上傳問題
我的php ini文件有這段代碼。
upload_max_filesize = 10M
post_max_size = 8M
這是uploader.php - >插件文件有
var $maxFileSize = '5M'; //default max file size
在我Controller.php這樣的文件,我用這個代碼來設置最大文件大小在運行時1 MB。
function beforeFilter() {
parent::beforeFilter();
$this->Uploader->maxFileSize = '1M';
}
在uploader.php,我們執行這個...
if (empty($this->maxFileSize)) {
$this->maxFileSize = ini_get('upload_max_filesize'); //landmark 1
}
$byte = preg_replace('/[^0-9]/i', '', $this->maxFileSize);
$last = $this->bytes($this->maxFileSize, 'byte');
if ($last == 'T' || $last == 'TB') {
$multiplier = 1;
$execTime = 20;
} else if ($last == 'G' || $last == 'GB') {
$multiplier = 3;
$execTime = 10;
} else if ($last == 'M' || $last == 'MB') {
$multiplier = 5;
$execTime = 5;
} else {
$multiplier = 10;
$execTime = 3;
}
ini_set('memore_limit', (($byte * $multiplier) * $multiplier) . $last);
ini_set('post_max_size', ($byte * $multiplier) . $last); //error suspected here
ini_set('upload_tmp_dir', $this->tempDir);
ini_set('upload_max_filesize', $this->maxFileSize); //landmark 2
預期的結果: 當我嘗試上傳文件的大小爲2MB的,它不應該發生,因爲maxFileSize爲運行時爲1MB。所以上傳應該失敗。
問題是: 但它正在上傳。
地標1未被執行。 (在評論中)...地標2似乎不起作用... upload_max_filesize沒有從maxFileSize中獲取值。
請幫我...謝謝