【发布时间】:2015-02-28 09:11:43
【问题描述】:
因此,当在 PHP 中上传文件时,我目前正在根据 php.ini 文件检查上传大小的错误:
switch ($_FILES['file']['error']) {
case UPLOAD_ERR_OK:
break;
case UPLOAD_ERR_NO_FILE:
throw new RuntimeException('No file sent.');
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
throw new RuntimeException('Exceeded filesize limit.');
default:
throw new RuntimeException('Unknown errors.');
}
然后手动检查它们:
$max_size = "10490000";
if ($_FILES['file']['size'] > $max_size) {
throw new RuntimeException('Exceeded filesize limit.');
}
这第二步有必要吗?还是仅仅检查错误就足够了。
或者,如果有必要,我可以安全地为第二次检查做这样的事情吗:
$max_size = (int)(ini_get('upload_max_filesize'));
【问题讨论】:
标签: php apache file-upload upload