Comment afficher des images une popup php javascript

Résolu
tupense Messages postés 18 Date d'inscription mardi 7 février 2012 Statut Membre Dernière intervention 4 avril 2012 - 3 mai 2011 à 21:03
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 - 4 mai 2011 à 13:59
Bonjour
je me perd un peu dans les rubriques désolé
j'ai fait un script en php pour lister des dossiers dans un dossier
puis je l'ai ai mis sous forme de liens
en cliquant sur ceux-ci cela affiche les images en plus petit et en lien
(sous entendu que dans le dossier il n'y a que les jpeg grand taille)
maintenant je voudrais qu'en cliquant dessus elle s'affiche en popup (par dessus ma page de façon a avoir encore acces a celle du dessous

j'ai avancé un peu le probleme c que la popup m'affiche toujours la meme image
c'est que ma variable $Fichier n'est pas reconnu il va direst dans le dossier et doit prendre la premiere image

je vois pas trop comment resoudre ce cas
voila le code si quelqu'un a une idée ou mieux une solution

je l'en remercis


<?php
//lister le dossier choisi
if (isset($_POST['go'])){
$dosAFF = ($_POST['go']);
$dir = 'images/'.$dosAFF.'/';

// url du fichier qui contient les images
$urlphoto = "http://localhost/GALERIE3/images/$dosAFF";



// nom du répertoire qui contient les images
$nomRepertoire = "$dir";
if (is_dir($dir))
{
$dossier = opendir($dir);
while ($Fichier = readdir($dossier))

{
if ($Fichier != "." AND $Fichier != ".." AND (stristr($Fichier,'.gif') OR stristr($Fichier,'.jpg') OR stristr($Fichier,'.png') OR stristr($Fichier,'.bmp')))
{
// Hauteur de toutes les images
$h_vign = "300";
$taille = getimagesize($dir."/".$Fichier);
$reduc = floor(($h_vign*200)/($taille[1]));
$l_vign = floor(($taille[0]*$reduc)/175);


//affiche les images
echo '
';

echo '
';

echo '[javascript:popup(\'page\') ';
echo '';
echo "] ";
echo '
';
echo $Fichier ;
echo '
';

//le javascript pour la popup
echo ' <SCRIPT language="javascript">';
echo ' function popup(page) {';
echo' window.open("'.$urlphoto.'/'.$Fichier.'",\'page\',\'width=700,height=700,z-index:1000,menubar=no,statusbar=no,toolbar=no,location=no, directories=no,scrollbars=no,resizable=yes\');';
echo 'w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>");';
echo 'w.document.write("");';

echo'w.document.write("</HTML>");';
echo ' }';
echo ' </SCRIPT>';

}
}
closedir($dossier);
}else{
echo' Le répertoire spécifié n\'existe pas';
}
}
?>





tupense !

5 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
3 mai 2011 à 22:54
bonsoir
j'ai fait ça et ça fonctionne
il faut (re)adapter tes repertoires ...
a++

je te laisse un bout de code pour lister le rep. autrement

<?php 
//lister le dossier choisi 

$_POST['go']=true;

if (isset($_POST['go'])){ 
$dosAFF = ($_POST['go']); 
//$dir = 'images/'.$dosAFF.'/'; 
$dir = 'images'; /*à toi de remettre ton rep*/
// url du fichier qui contient les images 
//$urlphoto = "http://localhost/GALERIE3/images/$dosAFF"; 
$urlphoto = "http://localhost/dan/".$dir; 


// nom du répertoire qui contient les images 
$nomRepertoire = "$dir"; 
if (is_dir($dir)) 
{ 
$dossier = opendir($dir); 

$i=0;

while (false!==($Fichier=readdir($dossier))){ 
if ($Fichier != "." AND $Fichier != ".." AND (stristr($Fichier,'.gif')
    OR stristr($Fichier,'.jpg')
    OR stristr($Fichier,'.png')
    OR stristr($Fichier,'.bmp'))) 
{ 
// Hauteur de toutes les images 

$h_vign = "300"; 
//foreach($Fichier as $f){
$taille = getimagesize($dir."/".$Fichier); 
$reduc = floor(($h_vign*200)/($taille[1])); 
$l_vign = floor(($taille[0]*$reduc)/175); 
//}

//affiche les images 
echo '
'; 

echo '
'; 

echo '[# ]
'.$Fichier.'
';
} 
$i++;
} 
closedir($dossier); 
echo '';
print_r($Fichier);
echo '

';

//le javascript pour la popup 
echo ' <SCRIPT language="javascript">'; 
echo ' function popup(page) {'; 
echo' window.open(page,\'page\',\'width=700,height=700,z-index:1000,menubar=no,statusbar=no,toolbar=no,location=no, directories=no,scrollbars=no,resizable=yes\');'; 
echo 'w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>");'; 
echo 'w.document.write("");'; 

echo'w.document.write("</HTML>");'; 
echo ' }'; 
echo ' </SCRIPT>';



}else{ 
echo' Le répertoire spécifié n\'existe pas'; 
} 
} 
?> 



a++

snippet
$rep='images';
if ($handle = opendir($rep)) {
    while (false !($file readdir($handle))) {
        if ($file != "." && $file != "..") {
            
            $extensions = array('.png', '.gif', '.jpg', '.jpeg'); /*ici des images*/
            // récupère la partie de la chaine à partir du dernier . pour connaître l'extension.
            $extension = strrchr($file, '.');
           //Ensuite on teste
            if(in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
            {
           
            echo $file.' : [?del='.$file.' Effacer] ['.$rep.'/'.$file.' Voir]
';
            
            
            }else{
            
            /* les fichiers interdits */ 
            
            }
            
        }
    }
    closedir($handle);
}


Bonne programmation !
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
4 mai 2011 à 13:59
while (false!==($Fichier=readdir($dossier))){
if ($Fichier != "." AND $Fichier != ".." AND (stristr($Fichier,'.gif')
OR stristr($Fichier,'.jpg')
OR stristr($Fichier,'.png')
OR stristr($Fichier,'.bmp')))
{
// Hauteur de toutes les images

$h_vign = "300";
//foreach($Fichier as $f){
$taille = getimagesize($dir."/".$Fichier);
$reduc = floor(($h_vign*200)/($taille[1]));
$l_vign = floor(($taille[0]*$reduc)/175);
//}

//affiche les images
echo '
';
echo '[#
]

'.$Fichier.'
';
}
}
closedir($dossier);



//le javascript pour la popup

/*
echo ' <SCRIPT language="javascript">';
echo 'function popup(page,l,h){';
echo 'window.open(page,\'page\',\'width=640,height=480,z-index:1000,menubar=no,statusbar=no,toolbar=no,location=no, directories=no,scrollbars=no,resizable=no\');';
echo 'w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>");';
echo 'w.document.write("");';
echo'w.document.write("</HTML>");';
echo ' }';
echo ' </SCRIPT>';
*/


}else{
echo' Le répertoire spécifié n\'existe pas';
}
}
?>

<SCRIPT language="javascript">
function popup(rules){
rules=rules.split(',');
var page=rules[0];
var l=rules[1];
var h=rules[2];
//document.write(page,'page','width='+l+',height='+h+',z-index:1000,menubar=no,statusbar=no,toolbar=no,location=no,directories=no,scrollbars=no,resizable=no');
window.open(page,'page','width='+l+',height='+h+',z-index:1000,menubar=no,statusbar=no,toolbar=no,location=no,directories=no,scrollbars=no,resizable=no');
}
</SCRIPT>

Bonne programmation !
3
tupense Messages postés 18 Date d'inscription mardi 7 février 2012 Statut Membre Dernière intervention 4 avril 2012
4 mai 2011 à 10:11
bonjour et merci de me repondre
du coup je suis un peu perdu
car mon repertoire qui etait une variable $dosAFF que je pouvais definir grace à $_POST['go'] qui maintenant est devenue booleen alors comment retrouver mon repertoire??
Car 'images' est, comme tu l'as compris est mon repertoire principale où sont tous mes repertoires dans lesquels sont mes images à afficher
en tout cas tu me dis que ça marche donc c'est possible reste a trouve comment lui passer le nom du repertoire dans $dir (est ce important que $_POST['go'] soit boolen (=true;))

quant au bout de codePHP situé apres, tu l'as utiliser pour le faire marcher,ou je peux le mettre sous le coude et voir ensuite (quand j'aurais reussi a faire fonctionner cette affchage) comment je peux lister autrement mes dossier



tupense !
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
4 mai 2011 à 10:37
bonjour

// $_POST['go']=true; /*c'etait pour le test*/

if (isset($_POST['go'])){
$dosAFF = ($_POST['go']);
$dir = 'images/'.$dosAFF;
/*ou $dir = 'images/'.$dosAFF.'/'; */
//$dir = 'images'; /*à toi de remettre ton rep*/
// url du fichier qui contient les images
$urlphoto = "http://localhost/GALERIE3/images/".$dosAFF;
//$urlphoto = "http://localhost/dan/".$dir;

je pense
a++

Bonne programmation !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tupense Messages postés 18 Date d'inscription mardi 7 février 2012 Statut Membre Dernière intervention 4 avril 2012
4 mai 2011 à 11:02
re bonjour
bon ça marche simplement il ne faut pas mettre $_POST['go']=true; car il renvoi 1
$dir = 'images/'.$dosAFF.'/';
et si je fais un var_dump($dir); j'ai images/1 et donc le repertoire specifier n'existe pas

en fais il n'y avais pas grand chose j'ai vu que tu avais changer des choses dans la syntaxe du href (A HREF="#" onclick="popup) et dans le javascript (window.open(page,\'page\',\) c'était certainement là l'erreur

autre chose il y a un moyen pour que ma photos se calle entierement dans ma fenetre quel soit horizontale ou vertical ou que la fenetre s'adapte a la photo
simplement un piste
apres je valide la discussion je pense que tu as d'autre chose à faire
et encore merci

tupense !
0
Rejoignez-nous