2013-05-06 27 views
0

我使用CodeIgniter的文件上传类来上传PDF文件。如何在使用Codeigniter的文件上传类时设置max_filename错误消息?

我设置的偏好described in the user guide

$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文件中)。

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

回答

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函数中查看可以生成哪些错误。如果你想改变功能,如果超过文件名的大小会引发错误,而不是截断文件名,那么你可以extend the upload library

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

application/language/english 

然后将语言文件从:

system/language/english 

笨随后将使用的语言文件application,而不是systemwhich you can modify

+0

感谢您的出色解释。我会试一试! – user1894374 2013-05-07 15:46:03

+0

没问题 - 不客气:) – jleft 2013-05-07 19:55:05

相关问题