subir libreria find_all eliminar delete archivos archivo php codeigniter unlink

php - libreria - Cómo desvincular(eliminar) una imagen en CodeIgniter



libreria upload codeigniter (7)

Primero revise su nombre de entrada de archivo. ¿Es "userfile" o no? si no, agréguelo y ejecútelo nuevamente.

Intento unlink una imagen en CodeIgniter, pero la función de unlink muestra:

aviso Índice indefinido: archivo de usuario

Aquí está mi código

<?php function get_from_post(){ $data[''logo_name''] = $this->input->post(''logo_name'',TRUE); $data[''logo_thumb''] = $_FILES[''userfile''][''name'']; return $data; } function deleteconf($data){ $data= $this->get_from_post(); $update_id=$this->uri->segment(3); @unlink(base_url.''image/logo_thumb''.$logo_thumb); $query= $this->_delete($update_id); } ?>


prueba este código

unlink(base_url().''/image/logo_thumb''.$logo_thumb);

Nota: No asignó / declaró $logo_thumb en su deleteconf() .

Por favor revisa tu código.


la función de desenlazar muestra el aviso índice indefinido: userfile

El formulario de carga, utilizando multipart / form-data

Asegúrese de haber utilizado el atributo / valor enctype="multipart/form-data" para su formulario de carga.

<form action="" method="post" accept-charset="utf-8" enctype="multipart/form-data">

Desde el MDN :

enctype
multipart/form-data : utilice este valor si está utilizando un elemento <input> con el atributo de tipo establecido en "archivo".

Si va a utilizar CodeIgniter form helper , puede usar la función form_open_multipart() :

Esta función es absolutamente idéntica a la etiqueta form_open() anterior, excepto que agrega un atributo de form_open() partes, que es necesario si desea utilizar el formulario para cargar archivos.

Eliminar archivos, ruta de archivo vs dirección URL

La función PHP unlink() acepta la ruta del archivo como primer argumento. No es la dirección URL .

La función de ayuda base_url() devuelve la dirección URL del sitio, que ha establecido en el archivo config.php .

Tendrá que usar la ruta del archivo en su servidor, de la siguiente manera:

unlink(''/path/to/image/image_name.jpg''); // This is an absolute path to the file

Puede usar una ruta absoluta o relativa , pero tenga en cuenta que la ruta relativa es relativa al archivo index.php . es decir, si la image/ carpeta se coloca junto index.php archivo index.php , debe usar image/image_name.jpg como la ruta del archivo:

unlink(''image/image_name.jpg''); // This is a relative path to the file


function get_from_post(){ $filename = $_POST[''logo_name'']; $path = $_SERVER[''DOCUMENT_ROOT''].''/projectname/uploads/''.$filename ; if(is_file($path)){ unlink($path); echo ''File ''.$filename.'' has been deleted''; } else { echo ''Could not delete ''.$filename.'', file does not exist''; } }


$this->load->helper("file");

solo agrega la línea anterior antes de desvincular

unlink($path);


Si desea cargar una foto para el perfil del usuario y también en el momento en que la foto del usuario anterior debe eliminarse mediante el método de desvinculación en codeignitor

$query = $this->db->where(''profile_id'',$profile_id)->get(''users'')->row(); $result = $query->photo; $result = http://localhost/abc/user_photo/FE12563.jpg if ($result) { $dd = substr($result, strlen(base_url())); unlink($dd); return $this->db->set(''photo'',$photo)->where(''profile_id'',$profile_id)->update(''users''); }


¿Puedes usar este código para eliminar la imagen en la carpeta?

desvincular (realpath (''uploads /''. $ _image));

"cargas": la imagen existe en la carpeta de carga. "$ _image": nombre del archivo de imagen

Funciones de PHP: 1: desvincular () 2: realpath ()

El código anterior funciona con éxito en mi sitio para eliminar la imagen en la carpeta.