Laravel 5

Ajout d'image en production

  • Avatar de watsonweb
    Membre depuis :
    08/02/2017
    Messages :
    128

    Salut à tous!
    J'ai un soucis depuis un moment.
    C'est relatif à l'upload d'une image dans le dossier public.
    En local lorsque je travaille, les images vont dans :
    public_path("images/dossiername/"$filename);
    Alors que public_path c'est app/public

    Maintenant le projet en ligne, lors du déploiement j'ai retiré le dossier public.
    Les dossiers présents dans public sont maintenant à la racine du serveur.
    Lorsque je souhaite faire un upload en production j'utilise ceci:
    storage_path('images/dossiername/"$filename'), c'est storage_path('app/public_html')

    Erreur:
    Can't write image data to path (/home/soukaqgv/public_html/storage/images/articles/1552555439.jpg)

    Merci de m'aider!

  • Avatar de bokino17
    Membre depuis :
    05/10/2018
    Messages :
    11

    Salut !

    Si tu est sous Ubuntu ajoute cette ligne a ton code dans le controller

    $dir = 'images/dossiername/';
    if (!file_exists($dir)) {
    mkdir($dir, 0775, true);
    }

    puis public_path("images/dossiername/{$filename}")

    merci de siglaner si elle functione !!

  • Avatar de watsonweb
    Membre depuis :
    08/02/2017
    Messages :
    128

    je developpe sous window!
    En local j'ai pas de soucis, c'est en production que j'ai le problème.
    je vais essayer et faire un retour

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2418

    Tu veux dire quoi quand tu dis "j'ai retiré le dossier public" ?

  • Avatar de watsonweb
    Membre depuis :
    08/02/2017
    Messages :
    128

    dans la structure normale après creation de projet avec composer, on a un dossier public avec .htaccess et les dossiers de style (css) et (js).
    En production, j'ai mis les dossiers présent dans /public directement à la racine du serveur.

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2418

    J'espère que tu as pris toutes les précaution pour protéger les dossiers normalement non accessibles.

    Pourquoi ne pas faire pointer ton domaine directement sur le dossier public ?

  • Avatar de watsonweb
    Membre depuis :
    08/02/2017
    Messages :
    128

    Je ne sais pas le faire c'est pourquoi j'ai trouver cette parade mais s'il existe un autre moyen pour pointer directement sur le dossier public, je serais content que vous me le montrer.

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2418

    Selon les hébergeurs on ne dispose pas des mêmes possibilités. En général on a un CPanel et dans les domaines et sous-domaines on définit le dossier vers lequel on doit pointer.

    Mais des hébergeurs ne proposent pas le CPanel et là tout dépend de l'interface qui est à disposition...

Vous ne pouvez pas répondre à ce sujet.