Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[Funktion] Gallery-Script-Problem [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[Funktion] Gallery-Script-Problem


 
Mac
15-02-2004, 20:29 
 
Hallo,

ich habe aus 2 Gallery-Scripten versucht eins zu machen, da beide für sich selbst einige Vorteile geboten haben.

Nun besteht das Problem, dass ich leider zwar die Aufteilung und auch die Verlinkungen fast fertig habe, aber leider die Anzeige Thumbnails nicht funzt. Ich vermute da fehlt noch irgend ein Link oder Zeichen, mit welchem ich auf den Ordner verweisen kann.

Aufbau:
Im Hauptverzeichnis befinden sich:
- Ordner IMG ( für Pics )
- index.php ( Code setze ich drunter )
- weiter & zurück.jpg
- backframe.jpg

Ab hier - function showthumb($Pic){ - beginnt die Funktion für die Thumbs...

Ich hoffe jemand kann helfen...

_________________________________________________________

<?PHP


//Einrichten der Galeriedaten
$GalerieTitel= "pC - Gallery"; //Der Titel Deiner Galerie Falls leer der Verzeichnisname
$Stylesheet= ""; //Hier kann das eigene Stylesheet eingebunden werden.

//Größe der Bildanzeigen: Wenn das Bild größer ist, wird es auf diese Angaben verkleinert
//Großes Bild
$image_max_x= 500; //Maximalbreite Pixel
$image_max_y= 375; //Maximalhöhe Pixel

//Thumbnail - die automatisch generierten Thumbnails werden in dieses Format eingepasst
$thumbnail_x= 120; //Maximalbreite
$thumbnail_y= 90; //Maximalhöhe

//***********************************************************************************
// Ab hier wird die Funktion beeinflusst!
//***********************************************************************************
//Hauptvariablen
$img_path= "img/";
$image_ext= ".jpg";
$SELF=$_SERVER['PHP_SELF'];
$fs=$_GET['fs'];
$id=$_GET['id'];

//Bestimmen der Breite des linken Frames
$LeftWidth=$thumbnail_x+40;
$PrevImg=@getimagesize("zurück.jpg");
$NextImg=@getimagesize("weiter.jpg");

//Leerdaten abfangen
if ($id=="") $id=0;
if ($GalerieTitel=="") $GalerieTitel=$SELF;


// HTML Tags zur Formatierung der Ausgabe!
if ($Stylesheet<>"") $StyleDef="<link rel=\"stylesheet\" href=\"$Stylesheet\" type=\"text/css\">";
$tr = "<TR ALIGN=\"center\">";
$tre = "</TR>";
$td = "<TD ALIGN=\"center\">";
$tde ="</TD>";


//Functions:
function showimage($Pic){
global $img_path,$SELF, $image_max_x, $image_max_y;
$MainFile=$img_path.$Pic;
$MainImageSize=getimagesize($MainFile);
if($MainImageSize[0]>$image_max_x OR $MainImageSize[1]>$image_max_y){
$showimage="<img src=\"".$SELF."?make=".$Pic."\" border=\"0\">";
} else {
$showimage="<img src=\"".$MainFile."\" ".$MainImageSize[3]." border=\"0\">";
}
return($showimage);
}

function showthumb($Pic){
global $img_path,$SELF, $thumbnail_x, $thumbnail_y;
$ThumbFile=$img_path.$Pic;
$ThumbFile=getimagesize($MainFile);
if(file_exists($ThumbFile)){
$showthumb="<img src=\"".$ThumbFile."\" width=\"".$thumbnail_x."\" height=\"".$thumbnail_y."\" border=\"0\">";
} else {
$showthumb="<img src=\"".$SELF."?make=".$Pic."&type=thumb\" border=\"0\">";
}
return($showthumb);
}

if(isset($_GET['make'])){ makepic($_GET['make'],$_GET['type']);}

//Frameset erstellen, weil noch nicht definiert
if($fs==""){
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title><?php print "$GalerieTitel";?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="3600">
</head>
<frameset cols="<?php print "$LeftWidth";?>,*" rows="*">
<frame src="<?php print "$SELF?fs=NavigationFrame&id=$id";?>" name="NavigationFrame" frameborder="0">
<frame src="<?php print "$SELF?fs=MainFrame&id=$id";?>" name="MainFrame" frameborder="0">
</frameset>
<noframes>
<body>
</body>
</noframes>
</html>

<?php
} else {
//Datenarrays erstellen:
$Handle_ImageDir=opendir ($img_path); //Bilddatenverzeichnis öffnen
$ImageFiles = array(); //Bilder Array initialisieren
while ($ImageFileName = readdir ($Handle_ImageDir)) { //Verzeichniseinträge lesen
if($ImageFileName != "." && $ImageFileName != ".."&& substr($ImageFileName,0,3) != stristr($ImageFileName,".jpg")) { //falls keine Punkte oder Thumbnails
array_push($ImageFiles, $ImageFileName); //Dateinamen sammeln
}
}
closedir($Handle_ImageDir); //Verzeichnis wieder schliessen
sort($ImageFiles); //Bilderliste sortieren

$imagecount = count($ImageFiles)-1;
if ($id==0) {$prev = $imagecount;} //ID für "prev" definieren
else {$prev = $id -1;}
if ($id==$imagecount) {$next = 0;} //ID für "next" definieren
else {$next = $id +1;}

if($fs=="NavigationFrame") {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE">
<html>
<head>
<title><?php print "$GalerieTitel";?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="3600">
<?php print "$StyleDef"; ?>
</head>
<body bgcolor="#FFFFFF" background="backframe.jpg" text="#000000">
<div align="center">
<?php
while(list($key,$Image)=each($ImageFiles)){
print "<p><a href=\"".$SELF."?fs=Mainframe&id=".$key."\" target=\"MainFrame\">".showthumb($Image)."</a></p>\n";
}
?>
</div>
</body>
</html>
<?php

} else { //Hauptframe erstellen
$MainImageFileName=$ImageFiles[$id];
$FileName=explode(".",$MainImageFileName);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE">
<html>
<head>
<title><?php print "$GalerieTitel";?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="3600">
<?php print "$StyleDef"; ?>
</head>

<body bgcolor="#FFFFFF" background="backframe.jpg" text="#000000">

<!-- Aktuelles Bild Vollanzeige -->
<TABLE ALIGN="center" BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<?php
echo "$tr $td &nbsp; $tde $tre";
print "$tr $td". showimage($MainImageFileName)." $tde $tre";
echo "$tr $td &nbsp; $tde $tre";
?>

</TABLE>

<!-- Navigationbar Aktuelles Bild Vollanzeige -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<?php echo "<a href=\"$SELF?fs=MainFrame&id=$prev\">";?>
<img src="zurück.jpg" <?php echo $PrevImg[3]?> border="0"></a>
</td>
<td width="96%">

</td>
<td height="23">
<?php echo "<a href=\"$SELF?fs=MainFrame&id=$next\">";?>
<img src="weiter.jpg" <?php echo $NextImg[3]?> border="0"></a>
</td>
</tr>
</table>

</body>
</html>
<?php
}
}
?>

_________________________________________________________php-tags by wurzel

 
derHund
15-02-2004, 20:37 
 
php-tags by qurzel
:)

 
Wurzel
15-02-2004, 20:43 
 
ich arbeite an nem neuen nick :rolleyes: :D

 
Wurzel
15-02-2004, 20:45 
 
@mac
bevors ganz ot wird:

1. was genau funktioniert nicht?
2. hast du kontrollausgaben gemacht?
3. gibt es fehlermeldungen?
4. welche passage ist relevant?

 
Mac
15-02-2004, 20:54 
 
Am Script selbst haste aber nichts verändert...??? :confused: :dontknow:

 
Wurzel
15-02-2004, 20:56 
 
wozu sollte ich das tun?

 
Mac
15-02-2004, 21:07 
 
Zu1:
Es funktioniert die Anzeige der Thumbnails net. Dort bekomm ich nur das Zeichen für ein nicht vorhandenes Bild (rotes Kreuz )

Zu2:
Ich hab noch nicht so den Plan von PHP.
Es sind 2 verschiedene Scripts, die ich versucht habe zusammen zu setzen...

Zu3:
Fehlermeldungen gibt es keine. Es werden nur einfach die Thumbnails net angezeigt...

Zu4:
Ich schätze, dass der Fehler in diesem Teil des Scriptes liegt, weil dort auch die Thumbs eingebettet sind:

function showthumb($Pic){
global $img_path,$SELF, $thumbnail_x, $thumbnail_y;
$ThumbFile=$img_path.$Pic;
$ThumbFile=getimagesize($MainFile);
if(file_exists($ThumbFile)){
$showthumb="<img src=\"".$ThumbFile."\" width=\"".$thumbnail_x."\" height=\"".$thumbnail_y."\" border=\"0\">";
} else {
$showthumb="<img src=\"".$SELF."?make=".$Pic."&type=thumb\" border=\"0\">";
}
return($showthumb);
}

 
Mac
15-02-2004, 21:08 
 
Hätte ja sein können, dass schon etwas ausgebügelt wurde.
Das sah so anders aus... :D

 
Wurzel
15-02-2004, 21:09 
 
für das anders aussehen, gibts hier den button auf dem PHP stehen tut ... der macht alles so bunt ... was ist mit den antworten auf meine fragen?habs grad gesehen

 
Wurzel
15-02-2004, 21:12 
 
du überschreibst die variable $thumbfile mit getimagesize() ...
nimm die zeile mal raus. ausgabe?

tipp: schau auch mal in den quelltext, was da steht.

 
Mac
15-02-2004, 21:18 
 
Jetzt sind die Thumbs nicht mehr vorhanden... :eek:

QUELLTEXT:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE">
<html>
<head>
<title>pC - Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="3600">
</head>
<body bgcolor="#FFFFFF" background="backframe.jpg" text="#000000">
<div align="center">
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=0" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=1" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=2" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=3" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=4" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=5" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=6" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=7" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=8" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=9" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=10" target="MainFrame"></a></p>
<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=11" target="MainFrame"></a></p>
</div>
</body>
</html>

 
Wurzel
15-02-2004, 21:28 
 
$ThumbFile=$img_path.$Pic;ist offenbar keine datei ... setz das mal einecho $ThumbFile=$img_path.$Pic;
exit;
ausgabe?

 
Mac
15-02-2004, 21:38 
 
Jetzt bekomme ich in der linken Spalte ( Thumbsframe ) oben einen Texthinweis des Pfad/Namens des ersten Bildes, was dort angezeigt werden soll.

QUELLTEXT:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE">
<html>
<head>
<title>pC - Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="3600">
</head>
<body bgcolor="#FFFFFF" background="backframe.jpg" text="#000000">
<div align="center">
img/Blaue Berge.jpg

 
Wurzel
15-02-2004, 21:46 
 
- und das bild ist da?
- die pfadangabe würde stimmen?

- mach auch gleich die leerzeichen aus den dateinamen ...

 
Mac
15-02-2004, 21:56 
 
- nein, kein Bild, nur der Text.
- Pfadangabe würde stimmen

- Leerzeichen kann erstmal drinne bleiben, ist nur ein Testbild...

 
Wurzel
15-02-2004, 22:02 
 
mit "bild da" meinte ich, obs existiert ... und jetzt machst du die leerzeichen
aus dem dateinamen raus und machst "//" vor das exit in der funktion.

 
Mac
15-02-2004, 22:29 
 
oki... :D

Bild ist da,
Leerzeichen raus,

vor Exit sind die "//"

Ausgabe: Jetzt wird von allen Bildern der Pfad angezeigt

QUELLTEXT:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE">
<html>
<head>
<title>pC - Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="3600">
</head>
<body bgcolor="#FFFFFF" background="backframe.jpg" text="#000000">
<div align="center">
img/BlaueBerge.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=0" target="MainFrame"></a></p>
img/Sonnenuntergang.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=1" target="MainFrame"></a></p>
img/Wasserlilien.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=2" target="MainFrame"></a></p>
img/Winter.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=3" target="MainFrame"></a></p>
img/china.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=4" target="MainFrame"></a></p>
img/dragon.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=5" target="MainFrame"></a></p>
img/dragonblue.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=6" target="MainFrame"></a></p>
img/dragongreen.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=7" target="MainFrame"></a></p>
img/dragonred.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=8" target="MainFrame"></a></p>
img/gba.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=9" target="MainFrame"></a></p>
img/specialdragon.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=10" target="MainFrame"></a></p>
img/usa.jpg<p><a href="/galerie/gal1/galindex.php?fs=Mainframe&id=11" target="MainFrame"></a></p>
</div>
</body>
</html>

 
Wurzel
15-02-2004, 22:36 
 
top ... du tust genau, was man dir sagt :D das echo sollte auch noch
raus ... aaaaber .... offenbar kann file_exists() die datei nicht finden ...
entweder ermittelst du zweifelfrei die location des files, und trägst den
pfad ein oder du nimmst den absoluter pfad zum bildordner =>
z.B.: /htdocs/www/derspace/nochnordner/img/)

 
Mac
15-02-2004, 22:48 
 
Aber ich springe net von der Brücke... :D
Möchte aber das Script am laufen bekommen, daher sollte ich natürlich das tun, was man mir sagt... :cool:

Echo raus: Ausgabe: wieder nen leerer Navigationsframe

Wenn ich den Pfad angebe, nimmt der das gar nicht mehr und schmeisst mir Fehlermeldungen für die Zeilen raus, wo die Datei dann nicht mehr geortet werden kann. AUCH im Hauptteil ( vergrössertes Bild )

Hast Du Dir die Index.php mal selbst in ein Verzeichnis gelegt ?
+ Ordner IMG mit Pics drinne?
Der rest wie zurück/weiter.jpg ist ja net sooo wichtig, weils ja funzt...

Ich mach das hier alles mit Xampp... ( Haste Xampp ??? )

 
Mac
15-02-2004, 22:55 
 
ZURÜCK !!!

Jetzt zeigt er mir überall ( auch im Hauptframe ) das rote Kreuzchen an...
Aber immerhin mal etwas von nem Bild... :confused:

 
Mac
15-02-2004, 23:01 
 
Juchuuuu... Es geht... :-)

Ich weiss zwar net warum... Aber egal... :-)

Dank Dir erstmal... :-)

gehe jetzt vom PC weg, meine Augen sind schon 4 eckig... :D

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:34 Uhr.