私は Codeigniter に問題があり、アップロード ライブラリからのアップロード プロセス内でファイルの名前を変更しています。誰かが言う前に、私は「暗号化された」ファイル名を探していません。
私の問題は、あなたが扱うことができる一握りのタイプを持つ画像をアップロードすることです。では、configオプションを使用してファイル名を特定のスキーマに変更するにはどうすればよいですかfile_name
(スキーマ部分はすでに稼働しています)。しかし、同じファイル タイプを維持しますか?
今、私は試みています
$upload_config['file_name'] = $generated_filename_from_schema
唯一の問題は$generated_filename_from_schema
、ファイル拡張子がないことです。ファイル拡張子を式から除外すると、CI はそれを完全に無視するように見え、ファイルが同じ名前の場合はファイルと append_1、_2、_3 を取得します。名前はそのまま残します。
ファイルをアップロードするようにCIに渡す必要が$config
ありますが、名前生成スキーマを使用できるように、アップロードを試みる前に、どのような種類のファイルを扱っているかを判断するにはどうすればよいですか。
*編集*
$upload_config['upload_path'] = realpath(APPPATH.'../images/');
$upload_config['allowed_types'] = 'gif|jpg|png';
$upload_config['max_size'] = 0;
$upload_config['max_width'] = 0;
$upload_config['max_height'] = 0;
$upload_config['remove_spaces'] = true;
$upload_config['file_name'] = $this->genfunc->genFileName($uid);
if($this->input->post('uploads'))
{
$this->load->library('upload');
$this->upload->initialize($upload_config);
if (!$this->upload->do_upload())
{
//echo 'error';
echo $config['upload_path'];
$this->data['errors'] = $this->upload->display_errors();
}
else
{
//echo 'uploaded';
$this->data['upload_data'] = $this->upload->data();
}
}