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 :

[Système] erreur sur glob


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Par défaut [Système] erreur sur glob
    bonjour à tous,
    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
     
    ...
    <a href="index.php?page=download">download</a>
    ...
    <?php
    		    define("PATH", "./includes/");
    		    // Tableau contenant les pages autorisées
    		    $tableau = glob(PATH . "*.inc.php");
    		    if (isset($_GET["page"]) && in_array(PATH . $_GET["page"] . ".inc.php", $tableau)) {
    		        $pageInclude = PATH . $_GET["page"] . ".inc.php";
    		    }
    		    else {
    		        $pageInclude = PATH . "default.inc.php";
    		    }
    		    include $pageInclude;
    		?>
    Error: Warning: in_array() [function.in-array]: Wrong datatype for second argument in /mnt/141/sda/2/c/j.d.e/index.php on line 26
    What's wrong??
    Principe par pseudo frames, le rép 'includes' contient des fichiers en .inc.php.
    Merci !

  2. #2
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Veifi ton tableau avec is_array() juste avant dans la condition.

    Ps : Pourquoi tu fais pas tout simplement un file_exists() au lieu de parcourir le dossier ?

  3. #3
    Membre chevronné Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Par défaut
    glob() retourne FALSE en cas d'erreur (et non un array)

  4. #4
    Membre expérimenté Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Par défaut
    Citation Envoyé par goodpz
    glob() retourne FALSE en cas d'erreur (et non un array)
    effectivement il retourne false car c'est une faille de sécurité et que free l'a enlevé! tout simplement, quel plaisir de savoir que le code est juste

  5. #5
    Membre expérimenté Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Par défaut
    merci je vais faire avec file_exists

  6. #6
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Cela dit, si glob n'a pas marché, file_exists non plus xD

  7. #7
    Membre expérimenté Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Par défaut
    Citation Envoyé par |PaRa-BoL
    Veifi ton tableau avec is_array() juste avant dans la condition.

    Ps : Pourquoi tu fais pas tout simplement un file_exists() au lieu de parcourir le dossier ?
    et file_exists() ca ne parcourt pas le dossier?
    dans tous les cas je vais faire ca car c'est pas un tableau!
    je vois pas pourquoi...

  8. #8
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Comme te la dit goodpz, en cas d'erreure la function glob retourne false et non array, donc utilise print_r() pour voir le contenu du retour. Tu doit surement avoir une erreure de PATH (tu utilises ./ qui signifi dossier courrant) verifi que ta page est bien executé dans le bon repertoire.

    Et comme te te le dit file_exists est à mon avis plus rapide

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

Discussions similaires

  1. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00
  2. [VBS] Erreur sur "AddWindowsPrinterConnection"
    Par Admin dans le forum VBScript
    Réponses: 5
    Dernier message: 27/03/2004, 16h15
  3. Erreur sur serveur lié
    Par k-lendos dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/03/2004, 15h21
  4. []Erreur sur second emploi collection binding
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/03/2004, 18h02
  5. Erreur sur le TNSListener après installation de 9iAS
    Par Patmane dans le forum Installation
    Réponses: 4
    Dernier message: 04/02/2004, 11h16

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