[RESOLU] Erreur sur OPENDIR dans ALEATOIRE + SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Erreur sur OPENDIR dans ALEATOIRE + SQL

Re: [RESOLU] Erreur sur OPENDIR dans ALEATOIRE + SQL

par popo79pr » 08 nov. 2012, 12:49

Bon et bien, j'ai repris ton code et refais étape par étape ...

Et désormais ça fonctionne.

Donc tant mieux :)

Si ça peut servir à quelqu'un, voilà mon code final :
<?php
				
include('connexion.php');
$requete="select * from albums";
$resultat=mysql_query($requete, $connexion) or die ('Requête incorrecte');
$l=mysql_fetch_array($resultat);
				
while($l)
	{
        echo '<div class="item">';
	echo '<h2 id="post-1005"><span class="title"><a href="'.$l['nom'].'.php">'.$l['nom'].'</a></span></h2>';
	echo '<a href="'.$l['nom'].'.php">';
        
        $dir = "albums/upload_".$l['nom']."/principal/";
        $od = opendir($dir);

        $image_list = array();

	$i = 0;

	while ( ($file = readdir($od)) !== FALSE )
		{
			if( is_file($dir.$file) )
			  {
				$image_list[$i] = $file;
				$i++;
			  }
		}
		closedir($od);
					
		$i = mt_rand(0,count($image_list)-1);
	
		echo '<img src="',$dir,$image_list[$i],'" height="200px" width="540px"/>';
		echo '</a>';
		echo '</div>';

                $l = mysql_fetch_array($resultat);
	}

?>
Merci à toi cezame :)

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par popo79pr » 08 nov. 2012, 11:46

Ca fonctionne ?
<?php

$dir = "albums/upload_Nature/principal/";

$od = opendir($dir);


?>
Là oui, ça ne me met aucune erreur !

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par cezame » 08 nov. 2012, 01:11

Ca fonctionne ?
<?php

$dir = "albums/upload_Nature/principal/";

$od = opendir($dir);


?>

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par cezame » 08 nov. 2012, 01:09

Essaye avec ton script php pas avec ton navigateur

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par popo79pr » 08 nov. 2012, 01:05

Et je viens de voir, mais effectivement je ne peux même plus accéder au dossier !
Forbidden

You don't have permission to access /albums/upload_nature/ on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Voilç ce qui s'affiche. J'ai pourtant mis les droits, je ne comprend pas !

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par popo79pr » 08 nov. 2012, 00:59

Tu as toujours un espace après le upload_ ... surement une piste..
meme sans ça ne fonctionne pas

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par cezame » 08 nov. 2012, 00:58

Tu as toujours un espace après le upload_ ... surement une piste..

Vérifie dans le champ nom de ta base d'album qu'il n'y a pas un espace avant chaque nom d'album..

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par popo79pr » 08 nov. 2012, 00:56

meme quand je ne met pas d'espace ca ne fonctionne pas ... je suis assez perdu !
Warning: opendir() [function.opendir]: Unable to access www.ladyludioo.fr/albums/upload_ nature/principal/ in /htdocs/photos.php on line 49

Warning: opendir(www.ladyludioo.fr/albums/upload_ nature/principal/) [function.opendir]: failed to open dir: Permission denied in /htdocs/photos.php on line 49
Erreur

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par cezame » 08 nov. 2012, 00:53

Ok donc tu devrais éviter les espaces et vérifier si ta requête te retourne les bons nom de dossier.
Exemple dans /albums/upload_ Mon premier album/principal/ t'as un espace après le _ et avant le M C'est voulu ?

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par cezame » 08 nov. 2012, 00:52

Si ton dossier /albums est dans ton document root et pas ailleurs.
Si php a les droits en lecture sur les dossiers
Si les dossiers existent bel et bien et que t'as pas fait de fautes dans le path. (a ta place j'éviterais les espace dans les noms de dossier)

Y'a aucune raison pour que opendir() te retourne un permission denied ...

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par popo79pr » 08 nov. 2012, 00:45

Et j'insiste sur le fait que mon code fonctionne très bien à la base, quand je met : $dir = "albums/upload_Nature/principal/";
(en imaginant que mon album s'appelle "Nature").

En gros, quand j'enlève la variable dans mon $dir alors ça fonctionne ...

Mais j'aimerais vraiment la mettre ! Et je ne vois pas le soucis ...

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par popo79pr » 08 nov. 2012, 00:26

Mon serveur web ne tourne pas sous Linux non.
Voilà comment se passe la création d'un album :
1) On écrit le nom de l'album (qui ira dans la variable $nomalbum), et quand on valide, le traitement est le suivant :
a) Création du dossiers albums/$nomalbum
b) Création du dossier albums/$nomalbum/principal
c) Création du dossier albums/$nomalbum/thumbs
d) Création de d'autres fichiers ...

J'ai les droits en lecture sur les dossiers ...

Et même avec $_SERVER["DOCUMENT_ROOT"] ça ne fonctionne pas ...

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par cezame » 08 nov. 2012, 00:17

Je sais pas comment tu as créé tes dossiers albums/upload_xxxx/principal/ mais comme t'as pu le voir php n'a pas les permissions requise pour les ouvrir.

1 - Ton serveur web tourne sous linux ?
2 - Essaye d'utiliser le chemin relatif $dir = $_SERVER["DOCUMENT_ROOT"] . "/albums/etc/etc/";
3 - Vérifie si php a bien les droit en lecture sur tes dossiers.

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par popo79pr » 08 nov. 2012, 00:02

Mon site est sur un serveur web (lws), ... windows 7

Re: Erreur sur OPENDIR dans ALEATOIRE + SQL

par cezame » 07 nov. 2012, 23:52

hello,

Tu test ton site ou ? sous quel OS ? en local ? sur un serveur ? windows ou linux ?