Bonjour,

En local tout est nickel, mais une fois hébergé, une page me pose problème (encore).

Ma page photo est générée par ceci

<body>  
  <div class="container-fluid" id="data">       
      <?php require_once CORE.DS.'affichephotolistserv.php';?>      
</div>      
</body> 

et Affichephotolistserv.php

    <?php 
// Connection au serveur
$url = 'http://****/Medias/Photo/'; 
Require_once CORE.DS.'connectwebdav.php';
//-------------------------
require_once CORE.DS.'simple_html_dom.php';
$html = new simple_html_dom();
$html->load($serveur);

foreach ($html->find('h1') as $title){
    $title->outertext = '';
}

foreach ($html->find('a') as $a){ // je cherche les liens
if ($a->href=="/Medias/"){
    $a->outertext = ''; //voir pour faire mieux...
}else{

$a->id="lien1";
$a->class="dossiers";
$ref = $url.$a->href; //je fabrique la nouvelle adresse
$a->href = '#data'; // je change l'adresse du lien vers une ancre
$a->onclick="myGetByAJAX('".$ref."')";
}
} 

?><div class="container-fluid">
    <div class="listephot">
    <?php foreach ($html->find(".dossiers") as $doss){ ?>
        <div class="dossierlistpho"><?php echo $doss;?></div>
        <?php } ?>
    </div>
</div>

<?php
$photo = $html->save();  //je sauvegarde

Ces codes affiche dans la page "photo.php" les dossiers photos de mon serveur freenas que je veux voir apparaitre.
Tous ces dossiers sont "cliquables" grace à une fonction js qui fonctionne sans soucis et qui renvoie dans #data l'url cliquée à "banane.php" qui génère photos, video (si il a une vidéo camescope) ou dossier si l'url renvoie un sous-dossier.
Page "banane.php"

    <?php
if (!empty($_POST['ref'])){ 
$ref = $_POST['ref']; //url cliquée

    // Connection au serveur
$url = $ref;  //indique à connectwebdav.php l'url à ouvrir
Require_once CORE.DS.'connectwebdav.php';
//--Je passe par le DOM---- 
require_once CORE.DS.'simple_html_dom.php';
$html2 = new simple_html_dom();
$html2->load($serveur);

foreach ($html2->find('h1') as $title){  // je supprime le titre du serveur
    $title->outertext = '';
}

foreach ($html2->find('li') as $li) {
    foreach ($li->find('a') as $a){ // je cherche les liens         
        $info = pathinfo($url.$a->href, PATHINFO_EXTENSION);

        $tab = explode(" ", $a); // pour chercher le "dossier parent"
            if (in_array('Parent', $tab)){//Pour changer parent directory
                $a->class="retour";
                $a->href = '#data'; // pour le reste, je change l'adresse du lien vers une ancre
                $retou = dirname($ref);
                $a->onclick="myGetByAJAX('".$retou."/')"; // et je fabrique le Onclick pour fair un "retour à la page d'avant"

            // si le lien envoie vers une image, l'afficher
            }elseif (strtolower($info) == "jpg" || strtolower($info) == "JPG" || strtolower($info) == "png") {
                $ref2 = $url.$a->href; //je fabrique la nouvelle adresse
                $a->class="albumPhoto";
                $a->href = '#data';
                $a->adresse=$ref2;//je fabrique la nouvelle adresse photo d'album photo

            }elseif (strtolower($info) == "db" || strtolower($info) == "mod") {  // si c'est une fichier Thumbs.db ou  mod, le supprimer.
                $li->outertext = ''; 

            }elseif (strtolower($info) == "mp4" || strtolower($info) == "avi" || strtolower($info) == "wmv" || strtolower($info) == "wav" || strtolower($info) == "webm" || strtolower($info) == "mov") {
                $a->class="camescope";
                $a->adresse=$ref2; //je fabrique la nouvelle adresse video

            }else{echo $ref;
                $ref2 = $url.$a->href; //je fabrique la nouvelle adresse
                $a->id="lien1";
                $a->class="dossierPhoto";
                $a->href = '#data'; // pour le reste, je change l'adresse du lien vers une ancre
                $a->onclick="myGetByAJAX('".$ref2."')"; // et je fabrique le Onclick vers le bon lien
            }
        }
    }
//-------------------------- Maintenant, fabrication de la page #data--------------------->
négligeable pour l'instant dans mon soucis      
// affichage du retour
//affichage des photos
//affichage des vidéos  
<?php
}       
$dossierphoto = $html2->save();  //je sauvegarde

Mon problème est quand je clique sur un dossier, j'ai une erreur 500. Un code four-tout. En cherchant la source, j'ai découvert que la fonction JS envoie bien $_POST['ref'] à la page "banane.php" mais cette erreur 500 intervient juste entre ces deux lignes et je ne comprends pas pourquoi...

$url = $ref;  //indique à connectwebdav.php l'url à ouvrir
Require_once CORE.DS.'connectwebdav.php';

Ceci fonctionne pourtant très bien en local et $url est une bonne adresse qui fonctionne.

Sauriez vous comme puis-je résoudre ce problème ? sans pouvoir me "balader" dans les dossiers et afficher ce que je veux, mon site familial n'a plus d'utilité...

Edit:
Et bien j'ai réussi à afficher la page que cUrl récupère en copiant le code complet à la place de

Require_once CORE.DS.'connectwebdav.php';

et en supprimant tout le reste du code. Donc, ce n'est pascUrl non plus....

1 réponse


JoHuv
Auteur
Réponse acceptée

Bonjour,

Problème résolu en ajoutant

    php_value display_errors on

sur le fichier htaccess, tout simplement :(. J'ai pu supprimer les 2 erreurs qui ont apparues.