IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

enregistrer des fichiers sur réseau local


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Billets dans le blog
    1
    Par défaut enregistrer des fichiers sur réseau local
    Bonjour

    j'ai créé un petit script php qui me permet de généré des pdf et de les enregistrer sur un répertoire donné de mon réseau local.
    je fais appel à une boucle (foreach) qui éxécute autant de fois que nécessaire le script et créée autant de pdf.
    quand je lance le script en ligne de commande, ça fonctionne parfaitement.
    quand le lance le script à partir d'une page web, ça ne m'enregistre rien, ça télécharge juste le dernier pdf dans le navigateur.
    mais si je change le chemin pour un repertoire sur le serveur alors ça marche.


    voici le bout de code final qui me pose problème quand je l'exécute dans une page web
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if ($type_doc=='pdf') {
        header('Content-Type: application/pdf');
        header('Content-Disposition: attachment; filename="'.$nomFichier.'.pdf"');
    }
     
     
    file_put_contents($cheminFichier, $response->getBody());
    merci d'avance

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Billets dans le blog
    1
    Par défaut
    Je me réponds à moi même, même si je n'ai pas encore trouvé la solution

    il semble que ce soit wamp qui pose problème, donc apache
    l'utilisateur apache n'aurait pas les droits sur le réseau....

  3. #3
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Bonsoir

    Une page web ne peut écrire que dans la structure de son dossier (soit /var/www). Tu pourrais imaginer écrire plus haut (/var ou encore à la racine) mais cela va à l'encontre des règles de sécurité et ce n'est pas garanti (la notion de openbase_dir en php p.ex. t'inderdira d'aller plus haut que ton dossier).

    Ecrire sur un disque réseau est impossible à un site web, entre autre pour des raisons de sécurité.

    Par contre, tu pourrais envisager un script PHP qui serait exécuté depuis une tâche cron; avec un utilisateur qui lui aurait accès à ton disque réseau. Ton mapping serait p.ex. de type webdav càd que tu prévois un environnement sur ton serveur et que, au travers d'une connexion webdav, tu permets à un utilisateur de mapper ce dossier (=jamais tenté perso mais c'est faisable).

    Bonne soirée.

  4. #4
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Juste pour information: regarde peut-être https://github.com/thephpleague/flysystem qui ajoute un niveau d'abstraction entre ton code et le "où est sauvé le fichier". FlySystem permet sans trop de difficultés de sauver p.ex. un fichier sur un cloud. Peut-être qu'une option te donnerait une opportunité pour ton disque réseau.

    Bonne soirée.

Discussions similaires

  1. [Toutes versions] Enregistrer un fichier sur réseau iso local.
    Par Poolpi dans le forum VBA Word
    Réponses: 0
    Dernier message: 01/04/2019, 11h45
  2. accéder à des fichiers sur réseau local avec W10
    Par GerardJ dans le forum Réseaux
    Réponses: 10
    Dernier message: 10/08/2018, 18h50
  3. Réponses: 8
    Dernier message: 08/06/2011, 09h51
  4. [Batch] Recherche de fichiers sur réseau local
    Par thefutureisnow dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 11/05/2011, 16h42
  5. enregistrer des fichiers sur CD rom
    Par philippe carel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/04/2007, 19h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo