php - imagenes - subir archivos a base de datos laravel
¿Cómo puedo mover archivos en php Laravel 5? (2)
Estoy tratando de mover el archivo de un lugar a otro. En este caso es mi profile picture
usuario. Como almaceno mi base de imágenes de perfil de usuario en su username
, cuando cambian su username
. Tendré que mover su foto de perfil. De lo contrario, el enlace de la imagen se romperá.
Lo he intentado aquí
if ( $user->username != Input::get(''username'')){
$new_path = public_path().''/img/logo/''. Input::get(''username'').''/''.$user->logo_path;
$old_path = public_path().''/img/logo/''. $user->username.''/''.$user->logo_path;
$move = File::move($new_path, $old_path);
$delete = File::delete($old_path);
}
Seguí recibiendo
Alguna sugerencia para mi?
Le sugiero que almacene archivos basados en el ID de usuario en lugar de en el nombre de usuario, de esa manera no tendrá que mover nada cuando cambie el nombre de usuario. Reemplace el archivo existente.
Mueves el archivo en la dirección incorrecta.
Debería ser $move = File::move($old_path, $new_path);
... en otras palabras, el primer argumento debe ser la ubicación del archivo OLD, el segundo argumento debe ser la NUEVA ubicación del archivo ... lo tienes al revés. :)
De los documentos de Laravel
Mover un archivo a una nueva ubicación
Almacenamiento :: mover (''old / file1.jpg'', ''new / file1.jpg'');
Además, como se dijo anteriormente, no debe tener File :: delete ya que ese archivo se movió y, por lo tanto, se eliminó.
Entonces, dos cosas:
1) Cambie el "old_path" y "new_path" y
2) Eliminar la línea File :: delete