es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Actualizar página – Cambiar nombre de la imagen siguiendo el ID del video en Laravel

Quiero cambiar el nombre de la imagen siguiendo el ID del video en el proyecto de Laravel. ¿Cómo solucionarlo?

Aquí están los códigos del controlador:

$old_video = Video::find($id);

//video thumbnail uploaded
if ($request->hasFile('image_path') != '') {
  $video_themnull = $request->file('image_path');
  $video_themnull_name =  uniqid() . Str::random('10') . '.' . $video_themnull->getClientOriginalExtension();
  $video_themnull_resize = Image::make($video_themnull->getRealPath());
  $video_themnull_resize->resize(400, 200);

  if ($video_themnull->isValid()) {

    if (isset($old_video->image_path)) {
      $files_old = $old_video->image_path;
      if ( file_exists($files_old)) {
          unlink($files_old);
      }
    }

    $video_themnull_resize->save(public_path('video/themnull/' . $video_themnull_name));
    $image_path = 'public/video/themnull/' . $video_themnull_name;

  }
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para cambiar el nombre de la imagen para que siga el ID del video en un proyecto Laravel, puede modificar el código existente de la siguiente manera:

     $old_video = Video::find($id);
     $video_id = $old_video->id; // suponiendo que id es el nombre del campo identificador del video
    
     if ($request->hasFile('image_path') != '') {
         $video_themnull = $request->file('image_path');
    
         $video_themnull_name = $video_id . '_' . uniqid() . Str::random('10') . '.' . $video_themnull->getClientOriginalExtension();
    
         $video_themnull_resize = Image::make($video_themnull->getRealPath());
         $video_themnull_resize->resize(400, 200);
    
         if ($video_themnull->isValid()) {
             if (isset($old_video->image_path)) {
                 $files_old = $old_video->image_path;
                 if (file_exists($files_old)) {
                     unlink($files_old);
                 }
             }
    
             $video_themnull_resize->save(public_path('video/themnull/' . $video_themnull_name));
             $image_path = 'public/video/themnull/' . $video_themnull_name;
         }
     }
    

    Los cambios realizados en el código incluyen la creación de una nueva variable llamada $video_id, que recupera el ID del video del modelo Video. Luego se modifica la variable $video_themnull_name para incluir el ID del video como prefijo y hacer que el nombre de archivo sea único. El nombre de archivo modificado se guarda en la carpeta pública, y se asigna la ruta de la imagen recién guardada a la variable $image_path.

Comments are closed.