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....
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.