0

CodeIgniter の File Uploading Class を使用して 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 に答える