Tenemos la mejor respuesta que encontramos por todo internet. Nosotros deseamos que te resulte de ayuda y si puedes compartir algo que nos pueda ayudar a mejorar hazlo con libertad.
Solución:
Puede cifrar el nombre del archivo con el uso de la opción nativa de CI:
$config['encrypt_name'] = TRUE;
O
Puedes hacerlo con tu propio código:
$new_name = time().$_FILES["userfiles"]['name'];
$config['file_name'] = $new_name;
Por alguna razón, las llamadas consecutivas a la función do_upload no funcionan. Se adhiere al primer nombre de archivo establecido por la primera llamada de función
$small_photo_url = $this->upload_photo('picture_small', $this->next_id.'_small ');
$medium_photo_url = $this->upload_photo('picture_medium', $this->next_id.'_medium');
$large_photo_url = $this->upload_photo('picture_large', $this->next_id.'_large ');
Todos los nombres de archivo serán “00001_pequeño”, “00001_pequeño1”, “00001_pequeño2” dadas las siguientes configuraciones
function upload_photo($field_name, $filename)
{
$config['upload_path'] = 'Public/uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1024';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$config['file_name'] = $filename;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())...
Creo que es porque esta línea no funciona la segunda vez que la llamas. No vuelve a establecer las configuraciones
$this->load->library('upload', $config);
================================================== ========================= Solución al problema enfrentado durante llamadas consecutivas a la función do_upload:
// re-initialize upload library
$this->upload->initialize($config);
Para lo que está buscando exactamente, esto funcionó para mí:
$path = $_FILES['image']['name'];
$newName = "".".".pathinfo($path, PATHINFO_EXTENSION);
Calificaciones y reseñas
Si estás contento con lo expuesto, tienes la opción de dejar un escrito acerca de qué te ha impresionado de este escrito.