 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
02.07.2004, 01:04
|
#1
|
|
TP-Senior
Registriert seit: Dec 2002
Ort: Gernsbach
|
Foto-Album
Hi Ihr,
habe im Netz ein kleines Script gefunden, welches mir ermöglicht, Fotos aus einem Ordner in Thumbs umzuwandeln und diese dann in groß anzeigen zu lassen. Nun habe ich festgestellt, dass, wenn ich über 14 Bilder hinauskomme (also im Ordner auf dem Server) die Bilder nicht mehr zu Thumb umgewandelt werden. Im folgenden habe ich mal das Script gepostet, vielleicht findet einer von Euch den Fehler...
Im Script ab der Zeile 60 werden die Thumbs generiert!
PHP-Code:
<?php
##### KONFIGURATION #############################################
$pic_zeile = "4";
// Anzahl der Fotos in einer Zeile.
$datei_end = array("gif", "jpg");
// Dateiformate die angezeigt werden sollen.
$groesse = "50";
// Größe der Thumbnails.
$name_anz = "ja";
// Soll der Dateiname angezeigt werden?
$border = "0";
// Breite des Tabellenrahmens?
$gd_lib = "2.0";
// GD-Lib - Entweder "1.6" oder "2.0"!
// Layout
$body = "<body bgcolor=#ffffff text=#000000 link=#FF0000 alink=#FF0000 vlink=#FF0000>";
$font = "<font face=verdana size=2>";
##### KONFIGURATION #############################################
?>
<html>
<head>
<title>Marions, Michaels, Dinas und Dessas Foto-Gallerie</title>
</head>
<?php
echo "$body";
echo "$font";
?>
<div align="center">
<script language="JavaScript">
function fenster(name) {
var breite = screen.width - 10;
var hoehe = screen.height - 60;
NewWin = window.open("ausgabe.php?file="+name, "Foto", "width="+breite+", height="+hoehe+", top=0, left=0, location=no, menubar=no, status=no, toolbar=no, scrollbars=yes, resizable=yes");
}
</script>
<?php
##### HIER NIX MEHR ÄNDERB ######################################
$datei_name = $_SERVER["PHP_SELF"];
$fileplace = ".";
if (isset($pfad) || empty($pfad)) echo "<h2>" .$pfad. "</h2>";
function createThumb($img_src, $img_width , $img_height, $des_src, $folder) {
if (!file_exists($folder. "/" .$des_src)) {
umask(0000);
if (!mkdir($folder. "/" .$des_src, 0777)) {
die("Konnte Ordner ".$folder. "/" .$des_src." nicht erstellen!");
}
}
$im = imagecreatefromjpeg($folder. "/" .$img_src);
list($src_width, $src_height) = getimagesize($folder. "/" .$img_src);
if($src_width >= $src_height) {
$new_image_width = $img_width;
$new_image_height = $src_height * $img_width / $src_width;
}
if($src_width < $src_height) {
$new_image_height = $img_width;
$new_image_width = $src_width * $img_height / $src_height;
}
if ($gd_lib == "1.6") {
$new_image = imagecreate($new_image_width, $new_image_height);
imagecopyresized($new_image, $im, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
}
else {
$new_image = imagecreatetruecolor($new_image_width, $new_image_height);
imagecopyresampled($new_image, $im, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
}
imagejpeg($new_image, $folder. "/" .$des_src. "/" .$img_src, 100);
}
function name_of_file($filename) {
$len = strlen(strrchr($filename,"."));
$ganz = strlen($filename) + 1;
$grafik = substr($filename,$ganz-$len);
return $grafik;
}
$i = 0;
$zaehler = 0;
if (!isset($pfad) ||
empty($pfad)) {
$verz = opendir ($fileplace);
while ($file = readdir ($verz)) {
if (name_of_file($file) == "" &&
$file != "." &&
$file != ".." ) {
$zaehler++;
echo "<BR><a href=" .$datei_name. "?pfad=" .$file. ">" .$file. "</a>";
}
}
closedir($verz);
}
else {
if (file_exists($pfad)) {
$verz = opendir ($pfad);
echo "<table border=$border cellpadding=10>";
while ($file = readdir ($verz)) {
$filegrafik = strtolower(name_of_file($file));
if (in_array ($filegrafik, $datei_end)) {
$i++;
$zaehler++;
if ($i == $pic_zeile + 1) {
$i = 1;
echo "<tr>";
}
// if (!file_exists($pfad. "/thumbnails/" .$file))
createThumb($file, $groesse, $groesse, "thumbnails", $pfad);
echo "<td align=center><a href=\"javascript: fenster('" .$pfad."/".$file. "');\"><img src=" .$pfad."/thumbnails/".$file. " border=0 alt=".$file."></a>";
if ($name_anz == "ja") echo "<BR><font size=1>".$file."</font>";
echo "</td>";
if ($i == $pic_zeile + 1) {
$i = 1;
echo "</tr>";
}
}
}
echo "</table>";
closedir($verz);
}
else {
echo "Fotoalbum " .$pfad. " nicht gefunden!";
}
}
if (!isset($pfad) ||
empty($pfad)) {
echo "<BR><BR>";
echo $zaehler." Fotoalben vorhanden";
}
else {
echo "<BR><BR>";
echo $zaehler." Fotos vorhanden";
}
if(isset($pfad) ||
!empty($pfad)) {
echo "<BR>";
echo "<a href=" .$datei_name. ">zurück zur Auswahl</a>";
}
?>
</div>
</body>
</html>
Für Anregungen bin ich jederzeit dankbar.
Lg Brix
|
|
|
02.07.2004, 01:31
|
#2
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Ich rate mal schnell:
// if (!file_exists($pfad. "/thumbnails/" .$file))
createThumb($file, $groesse, $groesse, "thumbnails", $pfad);
In der Zeile die Kommentare Rausnehmen und die geschweifte Klammer öffnen..
|
|
|
02.07.2004, 15:18
|
#3
|
|
TP-Junior
Registriert seit: Jul 2004
Ort: Hamburg
|
Oft sind Scripte auch in ihrer Ausführungszeit begrenzt. Der default-Wert dafür ist afaik 30 Sekunden. Wenn Du diese Zeit überschreitest, dann wird das Script einfach abgebrochen. Ich weiß nicht, um was für 60 Bilder es sich da handelt, aber wenn die groß genug sind und / oder eine hohe Auflösung haben, dann kann das schon hinkommen.
|
|
|
03.07.2004, 18:19
|
#4
|
|
TP-Insider
Registriert seit: May 2003
Ort: Aachen
|
Ne Idee wärs, das ganze aufm localhost zu machen, der ist in der Regel so schnell, dass man da keine Probs mit hat, und dann die Thumbs und so einfach auf den Server laden.
__________________
"Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
Einstein
|
|
|
03.07.2004, 23:00
|
#5
|
|
TP-Veteran
Registriert seit: Jan 2002
|
Noch besser: Die generierten Thumbs einfach dauerhaft als Datei speichern und beim nächsten mal wiederverwenden anstelle sie immer neu zu erzeugen.
Ich hatte vor ner Ewigkeit mal ne kleine Funktion dafür hier gepostet, die Suche müsste helfen.
|
|
|
04.07.2004, 00:42
|
#6
|
|
TP-Senior
Registriert seit: Dec 2002
Ort: Gernsbach
|
Hi @ll,
zum Stand der Dinge;
Ich habe den Rat von Adromir befolgt und die Komentare herausgenommen.
@Le Mac
Mit den Ladezeiten hast Du wohl recht. Die Dateien sind sehr groß, da gute Qualität. Mit dem Rat von Adromir, habe ich jetzt beim zweiten öffnen die gesamten Bilder auf dem Bildschirm.
@seb
Die Thumbs werden als Datei auf dem Server gespeichert. Das heisst, die Datei muss nicht bei jedem öffnen die Dateien neu erstellen, sondern kann vom Server drauf zurückgreifen.
Wie kann man jetzt die Zeiten einstellen (Hinweis von Le Mac), um dass ich nicht bei den nächsten 20 Bildern wieder erst zwei mal die Datei ansprechen muss, damit Sie alle thumbs erstellt?
Lg Brix 
|
|
|
04.07.2004, 17:54
|
#7
|
|
TP-Insider
Registriert seit: May 2003
Ort: Aachen
|
Zitat:
|
Zitat von loki
Ne Idee wärs, das ganze aufm localhost zu machen, der ist in der Regel so schnell, dass man da keine Probs mit hat, und dann die Thumbs und so einfach auf den Server laden.
|
so
__________________
"Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
Einstein
|
|
|
04.07.2004, 23:14
|
#8
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Oder die Bilder "Blind" erstellen lassen, also, daß sie nicht angezeigt werden.
Obwohl das einmalig auch zu lasten der Ladezeit gehen würde..
|
|
|
05.07.2004, 01:25
|
#9
|
|
TP-Insider
Registriert seit: May 2003
Ort: Aachen
|
Du meinst beim ersten anzeigen erstellen lassen?
__________________
"Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
Einstein
|
|
|
05.07.2004, 01:36
|
#10
|
|
TP-Senior
Registriert seit: Dec 2002
Ort: Gernsbach
|
@loki
-->
Zitat von loki
Ne Idee wärs, das ganze aufm localhost zu machen, der ist in der Regel so schnell, dass man da keine Probs mit hat, und dann die Thumbs und so einfach auf den Server laden.
<--
Wer liest hat mehr vom leben...  Damit meine ich, dass ich das auch local machen kann und dann die Thumbs mit auf den Server laden...
@Adromir
Wie meinst Du das? Ich will doch die Thumbs angezeigt bekommen...
Lg Brix
|
|
|
05.07.2004, 07:04
|
#11
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Also ich meinte, daß die fehlenden Thumbs (die nicht auf der ersten Seite normalerweise erstellt werden) blind generiert werden.
Kann aber gut sein, daß ich dich falsch verstanden hatte..
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:56 Uhr.
|
 |