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 :

fopen() avec des "guillemets simples"


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut fopen() avec des "guillemets simples"
    Bonjour,

    Je me tourne une nouvelle fois vers la communauté developpez.com.

    Mon problème :
    Je souhaite ouvrir (et explorer par la suite) des dossiers contenant dans le nom des guillemets simple ou aussi appelés apostrophes en bon français.

    Ma solution :
    Je récupère le dossier courant depuis l'URL avec un bon vieux GET[].
    J'affecte ce GET à une variable PHP, puis je passe cette variable en paramètre à la fonction fopen.
    > Dès que le nom de dossier contient un ' , fopen voit un \' . En fait c'est le GET qui rajoute l'échappement.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    fopen("mon chemin avec qu'un apostrophe");
    > Pas de problème
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $monChemin = $_GET["monchemin"]; //Avec monchemin = mon chemin avec qu'un apostrophe
    fopen($monChemin);
    > Problème


    Si vous avez une idée ou connaissez la raison dece problème, merci d'avance.
    Si bien sur je n'ai pas suffisamment été clair, je me ferrais un plaisir de me compléter.

    A+

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tes variables $_GET sont auto-echappé, c'est que ton serveur utilise les magic_quotes GPC.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Hum, les magic quotes...
    C'est grave docteur ?

    PS : C'est un serveur free ^^

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par miron Voir le message
    Hum, les magic quotes...
    C'est grave docteur ?
    Tu ne connaîs pas ? Doc : http://fr.php.net/manual/fr/security.magicquotes.php

    PS : C'est un serveur free ^^
    Fais un phpinfo( ) pour voir ce qu'il en est.

  5. #5
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Merci pour la doc

    En effet magic quotes gpc est "On".

    Y a t'il une solution pour dés-échapper le texte ?

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par miron Voir le message
    Merci pour la doc

    En effet magic quotes gpc est "On".

    Y a t'il une solution pour dés-échapper le texte ?
    Oui, c'est indiqué dans la doc http://fr.php.net/manual/fr/security....disabling.php

  7. #7
    Membre éclairé Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Par défaut
    Merci beaucoup !!!

    Code php : 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
    //Désactivation des guillemets magiques à l'exécution
    if (get_magic_quotes_gpc()) {
        function stripslashes_deep($value)
        {
            $value = is_array($value) ?
                        array_map('stripslashes_deep', $value) :
                        stripslashes($value);
     
            return $value;
        }
     
        $_POST = array_map('stripslashes_deep', $_POST);
        $_GET = array_map('stripslashes_deep', $_GET);
        $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
        $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
    }

    Fonctionne à merveille.

    Par contre si j'applique l'exemple 1 dans le .htaccess j'ai une erreur 500 du serveur free.

    Encore merci

  8. #8
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Par contre si j'applique l'exemple 1 dans le .htaccess j'ai une erreur 500 du serveur free.
    Ouaip, Free doit pas apprécier qu'on touche trop aux .htaccess

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

Discussions similaires

  1. simple quote et double quote
    Par sam01 dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2010, 17h05
  2. Script shell : afficher le contenu des variables entre simple quote
    Par mualki dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 23/01/2010, 00h14
  3. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 20h13

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