PHP-Blätterfunktion ohne MySQL

PLustigCracker

Grünschnabel
Hab das jetzt mal abgeändert! ich schreib hier nur schnell die eine Function rein. Ganz unten gehts dann wieder weiter!!

PHP:
########THUMBNAIL ERSTELLEN######### 
function daumennagel($pfad, $format, $imagesize, $file, $bild_url) 
{ 
  require('config.inc.php'); 
  if ($format!="N/A")  
  { 
    $bild=$file; 
    $thumb=$config_thumbordner."/".$file; 
    $bild_url=$pfad; 
    $bildformat=$format; 
    $verkleinern=$imagesize[0];  // Setzt den Multiplikator mit dem Breite und Höhe multipliziert werden müssem damit breite=120px 
    $verkleinern=100/$verkleinern; 
    $thumb_width=$imagesize[0]; 
    $thumb_width=$thumb_width*$verkleinern; 
    $thumb_height=$imagesize[1]; 
    $thumb_height=$thumb_height*$verkleinern; 
    $thumbbild=$config_thumbordner."/$file"; 
    switch ($bildformat)  
    { 
      case "GIF": 
                  $image = ImageCreateFromGIF($bild_url); 
                  $image1 = imagecreatetruecolor ($thumb_width, $thumb_height); 
                  imagecopyresized($image1, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagesize[0], $imagesize[1]);            
                  imageGIF($image1,$config_thumbordner."/$file",80); 
                  break; 
      case "JPEG": 
                  $image = ImageCreateFromJPEG($bild_url); 
                  $image1 = imagecreatetruecolor ($thumb_width, $thumb_height);imagecopyresized($image1, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagesize[0], $imagesize[1]); 
                  imageJPEG($image1,$config_thumbordner."/$file",80); 
                  break; 
      case "PNG":  
                  $image = ImageCreateFromPNG($bild_url); 
                  $image1 = imagecreatetruecolor ($thumb_width, $thumb_height); 
                  imagecopyresized($image1, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagesize[0], $imagesize[1]); 
                  imagePNG($image1,$config_thumbordner."/$file",80); 
                  break; 
      default:              
                  echo ""; 
    } 
  } 
  if ($format=="N/A")  
  { 
  $thumbbild="keinbild.GIF"; 
  $keinbild=1; 
  } 
  return $thumbbild; 
} 
##########################################################################
 
Zuletzt bearbeitet:
Also erstmal moechte ich anmerken, dass Dein extrem langes echo wenig Sinn macht und in der Form auch nicht funktionieren duerfte.
Und dann natuerlich noch der Hinweis, dass Einrueckung Code lesbarer machen kann.

Und zu guter Letzt kannst Du ja mal einen Blick in hier rein werfen wegen der Blaetterfunktion.
 
Ja sorry wegen dem einrücken.
Ich nehm mal an du meinst diese echos hier:
PHP:
 if ($format=="N/A")
 {
      echo "<td width=\"80\" valign=\"bottom\"><center><a href=".$path."/".$file." target=\"_blank\"><img src=\"$ausgabe\" border=\"0\" alt=\"$infotext\"></a><bR><font size=\"1\"></font></center></td>";
  }
  else 
  {
        echo "<td width=\"80\" valign=\"bottom\"><center><a href=# onClick=oeffne$funktion();><img src=\"$ausgabe\" border=\"0\" alt=\"$infotext\"></a><bR><font size=\"1\"></font></center></td>";
   }

das funktioniert aber!
 
Ich meine eigentlich dieses lustige Konstrukt:
PHP:
echo "<title>$config_titel</title>
</head>
<body>
extract($_REQUEST);
##Sicherheit

$ebenen=0;$zebenen=0;$slashes=substr_count($path, "/");
for ($i=0; $i<=$slashes; $i++) {
$ex=explode("/", $path);
$ex=$ex[$i];
if ($ex!="." AND $ex!=".." AND $ex!="") {
$ebenen++;
}
if ($ex=="..") {
$zebenen++; 
}
}
$ebenen--;if ($zebenen>$ebenen){
$path=$config_bildordner;
}


########THUMBNAIL ERSTELLEN#########
function daumennagel($pfad, $format, $imagesize, $file, $bild_url) {
require('config.inc.php');
if ($format!="N/A") {

$bild=$file;
$thumb=$config_thumbordner."/".$file;
$bild_url=$pfad;
$bildformat=$format;
$verkleinern=$imagesize[0];  // Setzt den Multiplikator mit dem Breite und Höhe multipliziert werden müssem damit breite=120px
$verkleinern=100/$verkleinern;
$thumb_width=$imagesize[0];
$thumb_width=$thumb_width*$verkleinern;
$thumb_height=$imagesize[1];
$thumb_height=$thumb_height*$verkleinern;
$thumbbild=$config_thumbordner."/$file";
switch ($bildformat) {
case "GIF": $image = ImageCreateFromGIF($bild_url); 
            $image1 = imagecreatetruecolor ($thumb_width, $thumb_height);
            imagecopyresized($image1, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagesize[0], $imagesize[1]); 
            imageGIF($image1,$config_thumbordner."/$file",80);
            break;
case "JPEG": $image = ImageCreateFromJPEG($bild_url); 
            $image1 = imagecreatetruecolor ($thumb_width, $thumb_height);
            imagecopyresized($image1, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagesize[0], $imagesize[1]); 
            imageJPEG($image1,$config_thumbordner."/$file",80);
            break;
case "PNG": $image = ImageCreateFromPNG($bild_url); 
            $image1 = imagecreatetruecolor ($thumb_width, $thumb_height);
            imagecopyresized($image1, $image, 0, 0, 0, 0, $thumb_width, $thumb_height, $imagesize[0], $imagesize[1]); 
            imagePNG($image1,$config_thumbordner."/$file",80);
            break;
default:    echo "";

}
}
if ($format=="N/A") {
$thumbbild="keinbild.GIF";
$keinbild=1;
}

return $thumbbild;
}
######################################################################################


if (!isset($path)) {
$path=$config_bildordner;
}
$handle=opendir ($path);


$icons=-1;

while (($file = readdir ($handle)) != false)
{
if(is_dir($path.'/'.$file))  
{
$array_dirs[]=$file;  
}
else
{
$array_files[]=$file; 
}
}
closedir($handle); 

$i=0;
$namen=explode("/", $path);
while ($namefound!=true) {
$name2=$namen[$i];
if ($name2=="") {
$namefound=true;
}
else {
$name=": "$name2\"";
 
Ok danke für die Hilfe, deine Klasse und Bilderscript macht genau das was ich will nur 2 Sachen.

1. WIll ich das wie in dem code von mir, die Thumbnails automatisch erzeugt werden. Kannste mir vieleicht dabei helfen, also wo ich das jetzt bei dir einfügen müsste. anbei, das echo funktioniert ^^

2. Ich hab jetzt alle Pfadkombinationen durch usw... aber ich bekomme immer nen fehler bei deinem Script!

http://www.plustigCracker.com/inc/gallery.php

deine klasse und die gallery.php liegen beide im ordner "galleri" und die pfadangaben in der gallery.php lauten:

define("IMAGESPATH",'images');
define("THUMBSPATH",'thumbs');

wo is da der wurm? ich meine die gallery kann er noch auslesen und anzeigen aber wenn ich dann auf die gal1 z.b. klicke gehts nimmer!


Ok Punkt 2 hat sich erledigt. War nen tippfehler drinne!

zu Punkt 1. also:
Die function "Daumennagel" die ich oben hab, funktioniert ja für EINEN ordner. Er nimmt also den bildordner und erstellt das thumbnail und legt es im thumb ordner ab. Wie müsste ich die funktion abändern das Sie mit hilfe deines Scriptes quasi alle ordner übergeben bekommt und für jeden einzigen ordner gleich das richtige thumbnail abspeichert

[
 
Zuletzt bearbeitet:
Wie ist denn bei Dir die Gallerie strukturiert?
Bei mir sieht das ja so aus:
Code:
galleries
|
|----- images
|      |
|      |----- Gallery1
|      |       |
|      |       |--- Pic1.jpg
|      |       |--- Pic2.jpg
|      |       |--- Pic3.jpg
|      | 
|      |----- Gallery2
|              |--- Pic1.jpg
|              |--- Pic2.jpg
|
|----- thumbs
       |
       |----- Gallery1
       |       |
       |       |--- Pic1.jpg
       |       |--- Pic2.jpg
       |       |--- Pic3.jpg
       | 
       |----- Gallery2
               |--- Pic1.jpg
               |--- Pic2.jpg
Du hast also die Verzeichnisse images und thumbs und darin sind jeweils die einzelnen Gallerien.
Moeglicherweise hast Du das ja umgekehrt, also erst die Gallerie und darin dann jeweils images und thumbs.
 
Ne genau so hab ich es! Das Problem ist ja nur, ich will das wenn ich jetzt in den ordner z.B. images->gallery1 100Bilder rein mache, diese gleichzeitig die funktion thumb aufrufen, nen ordner "gallery"1 im verzeichnis "thumbs" anlegen. und die selben bilder nur als thumbs dort abspeichern
 
Code:
inc
|
|
|
-----galleri
     |
     |----- images
     |      |
     |      |----- gall1
     |      |       |
     |      |       |--- Pic1.jpg
     |      |       |--- Pic2.jpg
     |      |       |--- Pic3.jpg
     |      | 
     |      |----- gall2
     |              |--- Pic1.jpg
     |              |--- Pic2.jpg
     |
     |----- thumbs
           |
           |----- gall1
           |       |
           |       |--- Pic1.jpg
           |       |--- Pic2.jpg
           |       |--- Pic3.jpg
           | 
           |----- gall2
                  |--- Pic1.jpg
                  |--- Pic2.jpg

So wobei im Ordner "thumbs" nur die ordner "gall1" und "gall2" sind und keine Bilder, weil um die geht es mir ja. Ich will nur wissen wo oder wie ich meine Funktion "daumennagel" einbauen muss, damit er mir sobald ich die "Gallery.php" aufrufe folgendes macht. Er zeigt ganz normal an welche Gallery's vorhanden sind und Gibt den Ordnernamen aus. Macht er ja schon. Jetzt kommts aber er soll nachschauen, ob im Ordner "thumbs" ein ordner mit dem selben namen der Gallery vorhanden ist, sollte das der fall sein ist es gut, wenn nein. Soll er den Ordner erstellen, die Bilder aus dem Ordner "images" aus dem gleichnamigen Gallery Ordner holen , thumbnails daraus machen und sie dort abspeichern. Und genau das ist es ja wo ich mir sag ich habe keine Ahnung wie ich das umsetzen könnte, bzw. in wie fern ich die funktion "daumennagel" (die ganz oben gepostet ist) abändern müsste. :(
 
Laedst Du die Bilder per FTP oder per Formular hoch?
Wenn Du per Formular hochlaedst wird es das Beste sein gleich beim Upload das Thumbnail zu erstellen.
Ansonsten muesstest Du das "bei Bedarf" machen. Wenn also ein Thumbnail angezeigt werden soll wird geprueft ob dieses existiert. Existiert es ist alles Bingo und es wird angezeigt, ansonsten wird es erst erstellt und dann angezeigt. Das Problem dabei ist natuerlich die Laufzeit, bei einer Gallerie mit einem Haufen neuen Bildern fuehrt das zu horrenden Ladezeiten und unter Umstaenden auch dazu, dass das Script abbricht weil die maximale Laufzeit ueberschritten wird.
Wie gesagt, die beste Loesung ist die Thumbs beim Upload zu erstellen.
 
Zurück