получить имя файла после $ config ['encrypt_name'] в codeigniter - PullRequest
0 голосов
/ 07 мая 2019

Вы добавили $ config ['encrypt_name'] = TRUE;Для кода загрузки, потому что некоторые пользовательские изображения называются пробелами и проблемами, вызывающими проблемы с поднятием

После загрузки файла его имя изменяется, но я пытаюсь взять имя файла, чтобы отправить его в базу данных таким образом $ img1 = $_FILES ['img1'] ['name'];Но я получаю исходное имя файла перед изменением

  $config['upload_path']          = './uploads/';
  $config['allowed_types']        = 'gif|jpg|png';
  $config['max_size']             = 2000;
  $config['max_width']            = 1024;
  $config['max_height']           = 768;
  $config['overwrite']        = FALSE;
  $config['encrypt_name'] = TRUE;

  $this->load->library('upload', $config);

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Не возвращайтесь к $_FILE суперглобальному.Поскольку вы используете CI, придерживайтесь оболочки загрузки CI

. Присвойте выходные данные процесса загрузки такой переменной:

$your_variable = $this->upload->data();

. Таким образом, вы получите все данные для загрузки.в вашем только что созданном массиве $your_variable:

$your_variable['file_name'] // encrypted name
$your_variable['file_type'] // MIME type such as image/jpeg or application/pdf
$your_variable['file_path'] // self explanatory
$your_variable['raw_name'] // encrypted name without the extension
$your_variable['orig_name'] // original name
$your_variable['client_name'] // name the file had on the client's computer
$your_variable['file_ext'] // self explanatory
$your_variable['file_size'] // self explanatory. Size in Kb
$your_variable['is_image'] // 1 if yes, 0 otherwise
$your_variable['image_width'] // only for images
$your_variable['image_height'] // only for images
$your_variable['image_type'] // only for images
$your_variable['image_size_str'] // only for images

Я почти уверен, что это все, что вы получаете с CI 3.1.10 (но, возможно, я забыл пару, если так, извиняюсь)

Вам нужен элемент ['file_name'] для ваших целей.Возвращение к суперглобальному $_FILE не будет работать, так как CI не будет изменять его значения

0 голосов
/ 07 мая 2019

Если вы переберите каждую фотографию и инициализируете библиотеку с помощью $ _FILES ['file_name'], это поможет вам

 $config['upload_path']          = './uploads/';
 $config['allowed_types']        = 'gif|jpg|png';
 $config['max_size']             = 2000;
 $config['max_width']            = 1024;
 $config['max_height']           = 768;
 $config['overwrite']        = FALSE;
 $config['encrypt_name'] = TRUE;

 $this->load->library('upload', $config);

 $this->upload->do_upload('file_name');
 $image_uploaded = $this->upload->data();

 $filename = pathinfo($image_uploaded['full_path']);

 $insert['photo'] = $filename['basename'];

 $this->db->insert('your_table', $insert);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...