0

我正在使用 CodeIgniter 的文件上传类来上传 PDF 文件。

我正在按照用户指南中的说明设置首选项。

$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'pdf';
$config['max_size'] = '1000';
$config['max_filename'] = 20;

当我尝试上传类型错误(或太大)的文件时,会显示相应的错误消息(例如“不允许您尝试上传的文件类型。”)这些错误消息存储在upload_lang.php文件中 ( ./system/language/english/upload_lang.php) .

但是,当我尝试上传文件名超过 20 个字符长度的文件时,不会显示错误消息(并且upload_lang.php文件中没有存储)。

问题:我在哪里可以找到(或设置)此消息,如何调用它?

4

1 回答 1

1

如果上传文件的文件名超过配置中设置的限制,则不会抛出错误,文件名将被截断。这可以在system/libraries/Upload.php

// Truncate the file name if it's too long
if ($this->max_filename > 0)
{
    $this->file_name = $this->limit_filename_length($this->file_name, $this->max_filename);
}

这就是您找不到错误消息的原因——它不存在!如果您查看同一个文件,do_upload您可以在函数中看到可以生成哪些错误。如果您想更改功能,如果超过文件名大小则抛出错误,而不是截断文件名,那么您可以扩展上传库

如果您想更改任何错误消息或添加自己的错误消息,您可以设置以下目录(假设您使用的语言是英语):

application/language/english

然后从以下位置复制语言文件:

system/language/english

然后 CodeIgniter 将使用语言文件application代替system您可以对其进行修改

于 2013-05-06T21:59:16.777 回答