Bro tengo una duda /home/CuentaEnServidor/NombreProyecto/public/storage (acceso directo carga bien imágenes) hasta aquí en forma local funciona 100, el lio es cuando paso al servidor Cpanel y la ruta que uso es /home/CuentaEnServidor/public_html/storage (acceso directo pero no accede)......como podría hacer para traspasar esas imágenes a public_html
Hola, estoy subiendo un proyecto laravel a Cpanel pero no me deja ejecutar el comando "php storage:link", ya que por seguridad lo bloquean, tengo que contratar una VPS para poder ejecutar este comando y asi se almacenen y muestren mis imagenes, ¿ es recomendable ? o es preferible contratar algun otro servicio de hosting compatible con laravel ?, espero puedas darme una sugerencia, gracias.
¡Hola! ¿Qué tal? ¿Sabés? Me mataste cuando dijiste que es necesario ejecutar el comando "php artisan storage:link" en el servidor.. ¿Explicás en algún video como hacer que todo esto funcione en un servidor compartido? PD: Igualmente voy a estar viendo todos tus videos, son de mucho valor la verdad.
Hola amigo, el problema de algunos servidores compartidos es que no te brindan una consola. Te recomiendo que administres tu propio servidor. En el canal tengo un curso donde explico cómo hacerlo.
Hola Amigo, Agradezco enormemente este vídeo me ha sido de mucha ayuda!!!! por otra parte me puedes recomendar como configurar el Visual Studio Code con los plugin para trabajar con Laravel y php?
Si claro. En la parte izquierda de visual studio code, hay un icono con cuatro cuadraditos que es la opción para instalar extensiones. Dale ahí y busca las extensiones que quieras instalar. Las que yo uso son las siguientes: Boostrap 4 (de Ashton koyi) que sirve para ayudarte a completar las clases de boostrap. Laravel blade. Que te ayuda a completar las directivas de blade. Laravel goto view. Que lo que hace es subrayar cuando escribes la ruta de una vista, y si le das click te direcciona a la vista en cuestion sin tener que buscarla en el directorio. Laravel Snippets. Te ayuda a completar las rutas, por ejemplo empiezas a escribir Route::ge.. y te da las opciones para completar. PHP intelephense, que te ayuda completando los métodos de PHP Y también tengo agregado la extensión de sass y vue
Excelente video amigo! tengo una pregunta, es necesario tener que trabajar con esa carpeta temporal y luego generar su acceso directo, para despues haciendo uso del acceso, recien guardar la imagen? no se podria directamente subir la imagen a una carpete imagen dentro de public y luego guardar la ruta en el servidor a partir de esa carpeta?
Si se puede, este sería el código en tu store if ($request->hasFile('imagen')) { $file = $request->file('imagen'); $name = time() . $file->getClientOriginalName(); $file->move(public_path() . '/images/productos/', $name); $producto->imagen = $name; } como puedes apreciar deberás tener una carpeta ya creada en la ruta public/imagenes/productos.
@@CodersFree Tengo un error que no me deja pasar del validaten tengo lo siguiente, pero cada que cargo un archivo ejemplo.pdf me devuelve el error que no es de tipo pdf @error('pdf') {{ $message }} @enderror $request->validate([ 'pdf' => "required | pdf | max:2048 ", ]);
Si se puede, lo iba a explicar luego, pero si quieres te lo explico ahorita. Entra a tu archivo .env y modifica la variable APP_URL y ponle la dirección de tu proyecto, ejm: localhost/mi-proyecto/public, o en el caso de que tengas un dominio local lo pones, ejm: mi-proyecto.test Luego agrega una nueva variable y le asignas este valor FILESYSTEM_DRIVER=public Esto hará que las imágenes se guarden por defecto en la carpeta storage/app/public, por lo que en la base de datos solo tendrías que almacenar el nombre del archivo, ejm, mi-imagen.png, o en el caso. Luego para mostrar la imagen ya no usarás el método asset($file->url) sino utiliza el método Storage::url($file->url) y cuando quieras eliminar la imagen Storage::delete($file->url) Me dices cómo te fue, si tienes problemas no te preocupes, igual lo explicare en un par de vídeos.
@@CodersFree return $request->mi_imagen->store('imagenes'); amigo nose si le entendi bien lo q quiero lograr es que cuando guarde usando este metodo solo me guarde el id q me auto genera si lo uso asi como esta me guarda en la base de datos con el nombre de la carpeta q imagenes y el id q me genera automaticamente solo deseo q se gaurde el id
Pregunta ¿para qué necesitas guardar solo el nombre que se genera? La idea de almacenar la url es poder acceder a la imagen luego, y la única forma de lograr eso es pasarle la ruta donde lo tienes almacenado. Ahora si es muy urgente guardar solo la ID,, puedes crear una nueva columna llamada id_img y guardarlo de esta manera. Imaginemos tengas almacenado en la variable $url lo siguiente: "imagenes/nombre-imagen.png" En otra variable haces esto: $id_img = str_replace("imagenes/","","$url") Y con eso obtienes solo el ID generado
@@CodersFree porque hacer la eliminacion o actualizacion de la imagen es imposible ya q en la base de datos se guarda imagen/hsj65h5h4gh3ghh4h3g3dw.jpg cuando voy a mirar en storage veo q solo esta la imagen asi hsj65h5h4gh3ghh4h3g3dw.jpg y cuando quiero actualizar la iamgen no puedo porq esta diferente la url ya q tiene el nombre de la carpeta donde se guarda ademas del id solo quiero guardar el id q me auto genera en la base de datos sin q me guarde la carpeta donde las guarda asi me es facil eliminarlas o actualizarlas
En el canal ya tengo un video explicando como eliminar la imagen del servidor y luego eliminarlo de la base de datos. Se utiliza el método Storage::delete.
un poco tarde pero por si acaso xd Al usar ese tipo de dato te permite almacenar imágenes en tu base de datos, pero esto no es recomendable debido a que con el tiempo tu base de datos será pesada e inestable. Es por ello que se recomienda solo guardar la ruta en un campo de tipo varchar.