Acces serveur de fichier distant

Acces serveur de fichier distant - PHP - Programmation

Marsh Posté le 05-08-2009 à 16:46:55    

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
Reply

Marsh Posté le 05-08-2009 à 16:46:55   

Reply

Marsh Posté le 05-08-2009 à 23:08:26    

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
Reply

Marsh Posté le 06-08-2009 à 08:52:33    

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

Reply

Marsh Posté le 06-08-2009 à 10:12:28    

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

Reply

Marsh Posté le 06-08-2009 à 10:24:29    

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
Reply

Marsh Posté le 06-08-2009 à 10:30:22    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed