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

  FORUM HardWare.fr
  Programmation
  PHP

  PHP - fonction escapeshellcmd()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP - fonction escapeshellcmd()

n°1918009
kali91
Posté le 25-08-2009 à 10:50:28  profilanswer
 

Bonjour, je recontre des diffcultés avec la fonction escapeshellcmd() et différentes versions de PHP.
 
1. Si je l'utilise avec une version Apache 2.0 / PHP 4.3.6 :
escapeshellcmd("test*" ) => Me renvoie : "test\*"
 
2. En revanche, si je l'utilise avec Apache 2.2 / PHP5.2.3
escapeshellcmd("test*" ) => Me renvoie : "test "
 
Il se trouve que pour mon traitement après, c'est bloquant.
 
Les tests réalisés ont été effectués sur un serveur windows 2003.  
Merci d'avance pour votre aide.

mood
Publicité
Posté le 25-08-2009 à 10:50:28  profilanswer
 

n°1918023
olivthill
Posté le 25-08-2009 à 11:09:18  profilanswer
 

Il semble donc que le traitement du joker "*" ne soit pas tout à fait standard, ce qui ne m'étonne guère. La solution consiste donc à ne pas utiliser cette bidouille, mais à avoir un chemin propre et carré.

n°1918031
kali91
Posté le 25-08-2009 à 11:22:34  profilanswer
 

Je ne vois pas en quoi l'utilisation de la fonction escapeshellcmd(), surtout quand le contenu est transmis à un programe externe ?
En revanche, si quelqu'un peu m'expliquer la raison de ce phénomène, cela m'intéresse énormément...

n°1918033
olivthill
Posté le 25-08-2009 à 11:28:16  profilanswer
 

La gestion du joker "*" dans les chemins est différente selon les systèmes. D'une version de DOS à l'autre, il y a déjà quelques petites différences, et entre DOS (que l'on appelle maintenant Windows en mode console) et UNIX, il y a pas mal de différences. C'est comme ça. On n'y peut rien. C'est pour des raisons "historiques". Donc, il faut éviter l'étoile.

n°1918047
kali91
Posté le 25-08-2009 à 11:51:25  profilanswer
 

Je suis d'accord avec cela, mais le phénomène est constaté avec les autres caractères gérés par escapeshellcmd() (le résultat est identique si on utilise & au lieu de *). D'autre part, les deux tests sont effectués dans le même environnement windows serveur 2003 ayant la même version.


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

  PHP - fonction escapeshellcmd()

 

Sujets relatifs
Fonction pour établir le classement d'un coureur[VBA] Programmer un indicateur coloré en fonction d'une valeur
Php et référencementfonction SQL qui fonctionne impec sous phpmyadmin mais pas en php !
Fonction window.open (javascript)Allocation d'un tableau dans une fonction
[Batch]Ajout de fonction Windows"aplatir" une image en PHP GD
accès à fonction importée à accè à fonction importé.[PHP] Listing de fichier, trier par date
Plus de sujets relatifs à : PHP - fonction escapeshellcmd()


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