Comment afficher des images une popup php javascript [Résolu]

Messages postés
18
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
4 avril 2012
- - Dernière réponse : cod57
Messages postés
1654
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 !
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8
3
Merci
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 !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cod57
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8
3
Merci
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 !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cod57
Messages postés
18
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
4 avril 2012
0
Merci
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 !
Commenter la réponse de tupense
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8
0
Merci
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 !
Commenter la réponse de cod57
Messages postés
18
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
4 avril 2012
0
Merci
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 !
Commenter la réponse de tupense