Page 1 sur 1

Probleme realpath

Posté : 01 nov. 2008, 23:05
par mrarobaz
Bonjour,

Voilà j'ai un souci avec une erreur quand je crée un repertoire a partir de mon admin

Voici l'erreur:

Warnim: realpath() has been disabled for security reasons

et voici la ligne concerner:

$filename = realpath("../menu.xml");

J'ai comprit que realpath n'es pas utiliser pour des raison de securité mais comment remplacer le probleme SVp

Merci d'avance

Posté : 02 nov. 2008, 00:15
par chrislabricole
A mon avis si cette fonction a été désactivée pour des raisons de sécurités c'est pas pour rien...

Sinon regarde du côté de la variable d'environnement $_SERVER

Plus particulièrement DOCUMENT_ROOT, PATH_INFO, PATH_TRANSLATED et REQUEST_URI.

Posté : 02 nov. 2008, 01:14
par @rthur
Bonjour,

Question : A quoi te sert cette fonction?
Si tu la retires ton script ne fonctionne plus?

Posté : 02 nov. 2008, 01:17
par mrarobaz
Re

Merci pour ta reponse alors j'ai modifier ma fonction et je me retouve avec une autre erreur

Fatal error: Call to undefined method xmlParser::parse() in /home/ordipassion/domains/ordi-passion_com/www/test/admin/page_galleries.php on line 12
<?php
require dirname(__FILE__).'/includes/functions.php';

//this var is used in header.php
//used in the javascript for dragging the <li> tags
$list = "gallery";

require dirname(__FILE__).'/includes/header.php';

// get menu.xml file
$p =& new xmlParser();
$p->parse('../menu.xml');
$galleries = isset($p->output[0]['child']) ? $p->output[0]['child'] : array();
Ma fonction $path
function myRealPath($path) {

    // check if path begins with "/" ie. is absolute
    // if it isnt concat with script path
    if (strpos($path,"/") !== 0) {
        $base=dirname($_SERVER['SCRIPT_FILENAME']);
        $path=$base."/".$path;
    }
 
    // canonicalize
    $path=explode('/', $path);
    $newpath=array();
    for ($i=0; $i<sizeof($path); $i++) {
        if ($path[$i]==='' || $path[$i]==='.') continue;
           if ($path[$i]==='..') {
              array_pop($newpath);
              continue;
        }
        array_push($newpath, $path[$i]);
    }
    $finalpath="/".implode('/', $newpath);

    // check then return valid path or filename
    if (file_exists($finalpath)) {
        return ($finalpath);
    }
    else return FALSE;
}
Merci

Posté : 02 nov. 2008, 13:44
par Ryle
1. Lire le message d'erreur :
Fatal error: Call to undefined method xmlParser::parse() in /home/ordipassion/domains/ordi-passion_com/www/test/admin/page_galleries.php on line 12
2. Comprendre le message d'erreur :
Erreur Fatale, ligne 12 du fichier page_galleries.php. Le script tente d'appeler une méthode inexistante xmlParser::parse().

3. Corriger l'erreur :
Ajouter la méthode parse() dans la classe xmlParser, ou modifier l'appel en spécifiant le nom d'une méthode qui existe

Après j'ai pas du tout regardé ta fonction myRealPath(), mais une fois les corrections effectuées, PHP se chargera de t'informer, et de te dire précisément ce qui ne va pas, s'il rencontre d'autres problèmes. Suffit juste de l'écouter.... :)