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 :

Copier ficher de réseau vers local


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Programmeur / analyste
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur / analyste

    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Copier ficher de réseau vers local
    J'ai un code Php avec Mapguide 2.0 qui essai de copier un fichier réseau.

    Mais le code ne semble pas voir le disque réseau, j'obtiens toujours "no dir" avec le test suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (opendir('Y:\Photos\HM\1989')){ 
        echo "dir"; }
    else{ 
        echo "no dir"; }
    où Y: est un disque réseau mappé.

    J'ai aussi essayé:
    ' \\serveur\\Pgotos\HM\1989'
    ' //serveur//Pgotos/HM/1989'

    mais sans rien obtenir.

    D'autres part, j'ai fais un autre essai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $file = 'Y:/Photos/HM/1989/HM87020-047_Laval_1987_DE_12.jpg';
    $newfile = 'C:/RechercheXLS/HM87020-047_Laval_1987_DE_12.jpg';
     
    if (!copy($file, $newfile))
         { echo "La copie du fichier $file n'a pas reussi...\n";}
    else
         { echo "La copie du fichier $file a reussi...\n";}
    et devinez, la copie ne réussit pas, même en essayant avec le serveur au lieu de Y:.

    Dans toutes les situations, Php ne semble pas être capable de voir le disque réseau.

    J'ai tous les droits (écritures, etc)

    Merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 167
    Points : 186
    Points
    186
    Par défaut
    Pourquoi n'essayes tu pas avec les fonctions ftp proposées par php :

    http://fr2.php.net/manual/en/ftp.examples-basic.php

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Si le réseau est mappé par utilisateur (Windows), PHP ne vera pas ce mapping puisque il doit s'agir du tien (user/admin/...)
    Most Valued Pas mvp

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 167
    Points : 186
    Points
    186
    Par défaut
    Citation Envoyé par Sergejack Voir le message
    Si le réseau est mappé par utilisateur (Windows), PHP ne vera pas ce mapping puisque il doit s'agir du tien (user/admin/...)

    Ce que tu dis m'intrigue un peu. Aurais tu une explication de ce que tu dis s'il te plait, ou un lien vers un site expliquant.

    Merci

    Doki

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    En windows, quand tu crées un mapping, ce mapping n'existe que pour les profile à partir duquel tu fais cette opération de création.

    Il faut que le processus PHP incarne (soit authentifié) ce même profile pour qu'existe dans son environnement ce mapping.


    Je ne connais pas de lecture sur le sujet sur le net, mais il doit y en avoir.
    Most Valued Pas mvp

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 167
    Points : 186
    Points
    186
    Par défaut
    Non en faite j'ai compris ce que tu voulais dire. Je n'avais pas réfléchi à ça. En même temps, ça parait logique.

    Merci pour l'explication.

  7. #7
    Futur Membre du Club
    Profil pro
    Programmeur / analyste
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur / analyste

    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour à tous,

    pour faire suite à cette discussion, comme je suis débutant en Php, on me suggère d'utiliser la fonction Ftp pour me connecter au disque réseau.

    La fonction Ftp peut se connecter sur une adresse Ftp, mais pas sur un disque réseau.

    Quelqu'un pourrait me faire voir de quelle manière je peux connecter sur un disque (Ex: Y:\\).

    Faut commencer un jour.

    merci à tous.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 26
    Points
    26
    Par défaut
    en fait j'avais le même problème et en lisant ton post et les réponses, j'ai compris la solution :

    1 - d'abord pour le problème d'autorisation : j'ai déclaré sur mon serveur Web, un utilisateur homonyme (avec même mot de passe) que l'utilisateur autorisé en lecture sur le dossier partagé mappée en lecteur réseau.
    Puis j'ai atrtibué ce compte au service Web et l'ai relancé

    2 - ensuite pour le problème de session windows, je n'utilise plus dnas mon script PHP la lettre de lecteur réseau, car je ne suis pas sur la session de l'utilisateur que j'ai affecté au service web, donc pas de lecteur réseau dispo
    En fait j'ai mis le chemin UNC (en n'oubliant pas les 3 antislash dans le chemin pour que PHP le comprenne) et ça marche !

    voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
     
    //$mydir = 'dossier/ou/sont/mes/images''; 
    $mydir = '\\\serveur\dossier_partage'; 
    //$mydir = 'z:';
     
     if ($dir = @opendir($mydir)) 
     {
        while (($file = readdir($dir)) !== false) 
        {
          if($file != ".." && $file != ".")
           {
             $filelist[] = $file;
           }
        } 
    closedir($dir);
    ?>
    a toi d'essayer ma solution !

  9. #9
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Points : 26
    Points
    26
    Par défaut
    Merci à Sergejack pour la pertinence de ta réponse !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/10/2011, 17h51
  2. [Serveurs] copier une table serveur vers local
    Par libititi dans le forum Administration et Installation
    Réponses: 3
    Dernier message: 16/06/2011, 15h25
  3. Copier une table de distant vers local.
    Par yann123456 dans le forum Administration
    Réponses: 0
    Dernier message: 29/09/2009, 17h39
  4. copier fichier du serveur vers le client fso
    Par nigiri dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/02/2006, 13h26
  5. Copier d'une table vers une autre
    Par ph4prod dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/09/2004, 12h42

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