Ma page ne s'affiche pas comme il faut sur le serveur distant

Résolu
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015 - 13 mars 2009 à 16:53
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015 - 16 mars 2009 à 13:12
Salut,
je suis en train de créer une page qui va servir à afficher un tutoriel vidéo. Sur ce point y'a pas de soucis. Au dessus de la vidéo je veux que la liste des tuto s'affiche sous forme de lien (sauf celui qu'on est en train de regarder). La fonction qui s'occupe de ça se base sur la présence de vidéo dans 1 dossier (en fait 1 vidéo .flv et son .php de configuration associé).
En local ça fonctionne très bien. J'utilise EasyPHP avec la version 5.2.0 de PHP. Par contre, quand j'upload le script; la liste des tutos ne s'affichent pas. Mon site est hébergé sur Free et la version de PHP est 4.4.3. Je pense que le problème doit venir de la compatibilité entre les 2 versions de PHP mais je n'ai rien trouvé avec le manuel php en ligne.

Voici le code de la fonction qui doit poser problème:
<?php
function gen_link($flv){
    global $rep_tuto;
    $array = glob($rep_tuto. "Tutorial*.flv");
    $tmp = array();
    $sortie = "";
    $i = 1;
    if ($array){
        foreach ($array as $iterator) {
            //do something here;
            //echo $iterator. "
";
            $tmp[$i] = substr($iterator, strlen($rep_tuto), strlen($iterator) - 15);
            $i++;
        }
    }
    //on note le tuto qu'on est en train de regarder
    $key = array_search($flv, $tmp);    if ($key false OR $key null) {
        $key = -1;
    }
    $nbr_tuto = count($tmp);
    for ($i = 1; $i <= $nbr_tuto; $i++){
        if (file_exists($rep_tuto. $tmp[$i]. ".php")){
            //le fichier de config existe
            include($rep_tuto. $tmp[$i]. ".php");
            if ($i == $key){
                //on est sur la vidéo qu'on regarde
                $sortie = $sortie. " ". $flv_title. "
";
            } else {
                //on est sur une autre vidéo
                $sortie = $sortie. "<gras>http://coh.fr.free.fr/
(Sur le jeu Company of Heroes pour PC)

2 réponses

cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
16 mars 2009 à 13:12
après moult recherches et essais en mettant des "echo" partout (pour voir les valeurs des variables), j'ai trouvé le problème. Apparemment la fonction "glob" n'est pas prise en charge chez free. Dans le PHPInfo de free, il n'y avait aucune fonction de bridée. Du coup, j'ai remplacé glob par opendir (et modifié un peu ce qui suit). Maintenant ça fonctionne.

Sinon, pour te répondre, effectivement, en local, je suis en E_ALL. Encore une dernière chose, peux-tu me dire pour quelle raison mon code est tordu? (j'ai appris le PHP tout seul, en lisant des codes et des tutoriaux)

--------------------------------------------------------------------------
Visitez mon site sur http://coh.fr.free.fr/
(Sur le jeu Company of Heroes pour PC)
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 mars 2009 à 10:36
Hello,

outre le fait que le code est tordu...-p
es-tu sûr que ce n'est pas plutôt un problème de chemin ? Parce que là, je ne vois aucune fonction dédiée PHP5 dans ton bout de code.
Et es-tu sûr que le problème vient de cette fonction ?
Bosses-tu, en local, avec error_reporting à E_ALL ? Tu as peut-être une erreur que tu ne vois pas, et qui empêche ton code de fonctionner correctement sur le serveur de Free.
Bref, trop peu d'éléments pour t'aider, là.
0
Rejoignez-nous