Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
828 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Acces serveur de fichier distant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Acces serveur de fichier distant

n°1912030
Lars331
Posté le 05-08-2009 à 16:46:55  profilanswer
 

Bonjour à tous,
 
Voilà je dois faire une page web avec du php et j'ai un petit problème. Je dois accéder à un serveur de fichier distant et je n'y arrive pas. J'ai fais l'essai en local et tout marche bien. Je pense qu'il ne s'agit que d'une erreur de syntaxe mais je ne trouve pas. Le chemin d'accés reseau que j'utilise et de la forme \\mon_serveur\mon chemin.  Voici mon code:
 

Code :
  1. <?php
  2. function Insert_Num_Fact($Rep, $NomSoc, $connexion){
  3.  echo $Rep;
  4.  if ($handle = opendir($Rep)) {
  5.       while (false !== ($file = readdir($handle))) {
  6.    /*echo $file;
  7.    echo "<br>";*/
  8.    if(substr($file, -3) == "PDF" ){
  9.     $query = "INSERT INTO GZ_LISTE_PDF(Numero, Societe) VALUES('$file', '$NomSoc')";
  10.     $result = odbc_exec($connexion,$query); //Execution de la requete
  11.    }
  12.       }
  13.      closedir($handle);
  14.  }
  15.  else echo "<br> erreur chemin <br>";
  16. }
  17.  
  18. $RepAER = "D:\archive\AEROCHEM FACTURES";  //ICI TEST EN LOCAL ET CA FONCTIONNE DESSOUS RIEN NE MARCHE
  19. $RepCAL = "\\powxp200\d$\archive\CALORIE FACTURES";
  20. $RepCMPDIS = "\\powxp200\d$\archive\COMPODISTRIB FACTURES";
  21. $RepCMP20 = "\\powxp200\d$\archive\COMPOSITES20 FACTURES";
  22. $RepCMP = "\\powxp200\d$\archive\COMPOSITES FACTURES";
  23. $RepFRD = "\\powxp200\d$\archive\FROID FACTURES";
  24. $RepGTC = "\\powxp200\d$\archive\GTC FACTURES";
  25. $RepPLX = "\\powxp200\d$\archive\PLASTIQUES FACTURES";
  26. $server="TOTO"; //Nom du serveur de la Db
  27. $db="TOTO"; //Nom de la Db
  28. $user="TOTO"; //Nom utilisateur
  29. $password="TOTO"; //Mot de passe
  30. //Connexion à la Db
  31. $connexion=odbc_connect("DRIVER=SQL Server;SERVER=".$server.";UID=".$user.";PWD=".$password.";DATABASE=".$db.";Address=".$server.",1433","","" );
  32. //Purge des tables
  33. $query = "DELETE FROM GZ_LISTE_PDF";
  34. $result = odbc_exec($connexion,$query); //Execution de la requete
  35. if (htmlspecialchars($_POST['TOUTES']) != '')
  36.  Insert_Num_Fact($checkALL);
  37. else{
  38.  if (htmlspecialchars($_POST['AEROCHEM']) != '')
  39.   Insert_Num_Fact($RepAER, htmlspecialchars($_POST['AEROCHEM']), $connexion);
  40.  if (htmlspecialchars($_POST['CALORIE']) != '')
  41.   Insert_Num_Fact($RepCAL, htmlspecialchars($_POST['CALORIE']), $connexion);
  42.  if (htmlspecialchars($_POST['COMPOSITES_DISTRIBUTION']) != '')
  43.   Insert_Num_Fact($RepCMPDIS, htmlspecialchars($_POST['COMPOSITES_DISTRIBUTION']), $connexion);
  44.  if (htmlspecialchars($_POST['COMPOSITES_20']) != '')
  45.   Insert_Num_Fact($RepCMP20, htmlspecialchars($_POST['COMPOSITES 20']), $connexion);
  46.  if (htmlspecialchars($_POST['COMPOSITES']) != '')
  47.   Insert_Num_Fact($RepCMP, htmlspecialchars($_POST['COMPOSITES']), $connexion);
  48.  if (htmlspecialchars($_POST['FROID']) != '')
  49.   Insert_Num_Fact($RepFRD, htmlspecialchars($_POST['FROID']), $connexion);
  50.  if (htmlspecialchars($_POST['GTC']) != '')
  51.   Insert_Num_Fact($RepGTC, htmlspecialchars($_POST['GTC']), $connexion);
  52.  if (htmlspecialchars($_POST['PLASTIQUES']) != '')
  53.   Insert_Num_Fact($RepPLX, htmlspecialchars($_POST['PLASTIQUES']), $connexion);
  54.  }
  55. odbc_close($connect);
  56. ?>


 
Voilà si quelqu'un peut m'aider je l'en remercie.
 
Lars


Message édité par Lars331 le 05-08-2009 à 16:55:13
mood
Publicité
Posté le 05-08-2009 à 16:46:55  profilanswer
 

n°1912133
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 05-08-2009 à 23:08:26  profilanswer
 

Citation :

J'ai fais l'essai en local et tout marche bien.


c'est l'essai de l'adresse ? Ou l'essai du script PHP ?
 
Vois s'il ne faut pas échapper les anti slashes ...
$RepCAL = "\\\\powxp200\\d$\\archive\\CALORIE FACTURES";
 
etc.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1912158
Lars331
Posté le 06-08-2009 à 08:52:33  profilanswer
 

Bonjour,
 
Alors "\\powxp200\d$\archive\CALORIE FACTURES" est le chemin d'acces au répertoire sur le serveur de fichier. Alors que "D:\archive\AEROCHEM FACTURES" est un répertoire que j'ai copié sur la machine où s'exécute le serveur web d''où l'accès local.  
 
Je viens de doubler les \ et même problème.
Si vous avez d'autres idées.
 
Lars

n°1912196
rengzehn
Posté le 06-08-2009 à 10:12:28  profilanswer
 

Message d'erreur que tu obtiens ? problème de droits ?

n°1912205
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 06-08-2009 à 10:24:29  profilanswer
 

oui, je pense aussi à un problème de droits. Regarde si ton service Apache (qui s'exécute par défaut avec les droits de ton profil) a les droits sur la machine distante, surtout quand c'est un partage administratif ... T'es en domaine ou en workgroup ?


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1912213
Lars331
Posté le 06-08-2009 à 10:30:22  profilanswer
 

Je suis en domaine et j'ai mis tous les droits au groupe "Tous le monde"
Aucun message d'erreur ne remonte.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Acces serveur de fichier distant

 

Sujets relatifs
[Resolu] Deziper un fichier en vbsCréation fichier log retraçant le déroulement d'une macro
[awk] Extraire et additionner différents élements d'un fichierlire un nombre en notation scientifique dans un fichier
Convertir le résultat d'une requête SQL en fichier excel[Android] Enregistrement fichier xml
[RESOLU] erreur pendant le chargement un fichier XMLCorruption de fichier .rar dans MySQL help!
[VBS] Extraire valeur champ fichier texteAccès fichier sur serveur distant
Plus de sujets relatifs à : Acces serveur de fichier distant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR