Hier will ich euch nun zeigen wie man sich eine kleine Bildergallerie mit Vorschau erstellen kann.
Diese baut zum Teil auf anderen Tutorials aus diesem Forum auf.
zuerst müssen wir einige Ordner nach folgender Struktur erstellen (alle php Dateien kommen jedoch in den Hauptordner):
einen Ordner "img" mit 2 Unterordnern:
upload und thumbnail.
und einen "js" Ordner, in den beide java script Dateien hineinkommen.
<?php
$pfad = "img/upload/"; # Pfad in dem die hochgeladenen Dateien gespeichert werden (Ordner muss existieren und mind. ChMod 755)
$min_size = 10; # minimale Dateigröße in Bytes
$max_size = 1524288; # maximale Dateigröße in Bytes -> 1024 Bytes = 1 KB / 1024 KB = 1 MB
$count_files = 4; # Wie viele verschiedene Dateitypen soll es geben?
$filetypes = array('jpg','jpeg','gif');
?>
und noch die thumbnail.php die die bilder zur vorschau auf die richtige größe schneidet:
//Fügt den Pfad zur Datei dem Dateinamen hinzu
//Aus ordner/bilder/bild1.jpg wird dann ordner_bilder_bild1.jpg
if(!$filenameOnly)
{
$replace = array("/","\\",".");
$filename = str_replace($replace,"_",dirname($imgfile))."_".$filename;
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- Head & Title include -->
<title></title>
<!-- CSS -->
<!-- end CSS -->
<!-- Java scripts -->
<script src="js/mouseover.js" type="text/javascript"></script>
<script src="js/switch.js" type="text/javascript"></script>
<!-- end java scripts -->
<!-- end Head & Title include -->
<!-- standard Design stylesheet -->
<style type="text/css">
<!--
#background{
background-image:url('img/background.jpg');
position: absolute;
left:333px;
top:166px;
width:180px;
height:180px;
z-index:1;
}
#img{
position:absolute;
left:20px;
top:20px;
width:140px;
height:140px;
z-index:1;
}
#left{
position:absolute;
left:10px;
top:75px;
width:20px;
height:30px;
z-index:1;
}
#right{
position:absolute;
left:150px;
top:75px;
width:20px;
height:30px;
z-index:1;
}
-->
</style>
<!-- end standard Design stylesheet -->
</head>
<body onload="switch_right()">
<noscript>Für diese Seite musst du Java Script aktiviert haben!</noscript>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="datei"><br>
<input type="submit" value="Hochladen">
</form><br><br><br>
In der switch.php werden alle Bilder aus dem Verzeichnis "img/thumbnail" ausgelesen und danach überprüft in welche Richtung gescrollt werden soll und überprüft, welches Bild derzeit angezeigt wird.
Je nach dem ob nach links oder rechts gewechselt werden soll wird + oder - gerechnet.
Danach wird das neue Bild in die Session "img_num" eingetragen, das Bild ausgegeben und an das Java Script zurückgeschickt.
Das Java Script gibt das Bild anschliesend in dem Div mit der id="img" aus.
mouseover.js:
PHP
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
Dieses Java script sorgt für den Bild wechsel, sobald man mit der Maus über die Pfeile rüberfährt.
MFG fehmaraner
//EDIT
Mouse Over für die Pfeile eingefügt + Dateien hochgeladen
//EDIT²
Index.php aufgeräumt
//EDIT³
Kommentare im Code gesetzt
Also von mir bekommt dein Script auf einer Skala von 1-10
nur eine 4
-Du hast im Quellcode keine Infos angegeben.
-Du hast nicht gesagt auf welche anderen Codeschnipsel das aufbaut.
-Die Bilder werden immer in einer neuen Seite geöffnet was das ganze mit dem hin und zurück klicken immer sehr nervig macht.
-Beim überfahren über die Pfeile wird nicht deutlich dass man sie benutzen kann.
-Du hast Css und HTML nicht sauber in jeweilige Datein getrennt.
-Das hochladen der Bilder ist für eine reine Fotogallerie total unwichtig
CONTEMPLATION
If today was perfect, there would be no need for tomorrow.