Hej alla
Jag har gjort ett bildgalleri där jag använder mig utav en Iframe för att få det att funka bra. Jag har lagt en Iframe ovanför mina thumbnails och när man klickar på dem så öppnas bilderna i min Iframe. Jag använder dock PHP för att anropa alla mina bilder som ligger i en specifik mapp och så blir de automatisk thumbnails och när man klickar så ja ni förstår.
Men jag har fått ett problem jag vill att det ska gå att klicka på bilden som blir inne i Iframen och om man klickar på den så funkar den som en länk till bildens riktiga storlek. Hur gör jag detta? Har försökt på flera sätt utan att lyckas.
Sen en annan fråga finns det något bättre sätt än att använda Iframe för att få bildgallerit att se ut som jag har nu.
Koden där man ser bilderna och allt sådant:
<?php
session_start(); // Alltid överst på sidan
include "conn.php"; // Databasanslutningen
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_user'])){
header("Location: index.php");
exit;
}
?>
<html>
<head>
<title>Bildserie Test</title>
</head>
<body>
<center>
<iframe src=''
name='iframe'
width='700' height='400' frameborder='0' align='center' scrolling='no'>
</iframe>
</center>
<br />
<?php
require_once("bildserietest.php");
$indirectory = "uploads/$_SESSION[sess_user]/";
$images = getImagesInDir($indirectory, true);
foreach ($images as $image)
{
echo "<a href=".$image." target='iframe'><img src=".$image." width='120' height='90' border='0'></a>";
}
?>
<br />
<p>
<?php
require_once("bildserietest.php");
$indirectory = "uploads/$_SESSION[sess_user]/";
$images = getImagesInDir($indirectory, true);
foreach ($images as $image)
{
echo "<a href=".$image." target='blanc'><img src=".$image." width='120' height='90' border='0'></a>"; }
?>
</p>
</body>
</html>
Min php kod som loopar igenom bilderna:
<?php
/**
* Returns an array with the paths of all images in the directory $dir.
* If $fullDir is set to true, subdirectives and their images will be
* returned as well, as arrays withing the array.
*
* @param $dir The directive in which to look for images
* @param $fullDir Decide weather or not to look in subdirectives as well
*
* @return An array holding image paths and possibly subarrays holding
paths of images in subdirectives
*
*/
function getImagesInDir($dir = '', $fullDir = true)
{
$allowedExtensions = array('jpg', 'gif', 'png');
$allImages = array();
// Om $dir är ett giltligt direktiv
if(is_dir($dir)) {
if($dh = opendir($dir)) {
// Medan det finns fler filer, fortsätt att läsa in dem
while(($file = readdir($dh)) !== false) {
// Ignorera s.k. 'punkt-filer'
if($file != "." && $file != "..") {
// Om denna fil är en katalog (mapp)
if(filetype($filetype) == 'dir') {
$tmp = getImagesInDir($dir.$file, $fullDir);
if (!empty($tmp)) {
$allImages[] = $tmp;
}
} elseif(in_array(getExtension($file), $allowedExtensions)) {
$allImages[] = $dir.$file;
} // if
} // if
} // while
} // if
} // if
return $allImages;
}
/**
* Returns the file extension of a file
*
* @param $imageName The complete image name
*
* @return The file's extension, excluding a dot
*/
function getExtension($imageName)
{
return end(explode('.', $imageName));
}
?>