| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: PHP Bild - Galerie im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige hej an alle ich hätte da eine frage bezüglich einer bildergallerie in php: ich benötige ein script, dass mir ...
![]() |
| | #1 (permalink) |
| Registriert seit: 31.03.05 ![]() Likes: 0 | Anzeige hej an alle ich hätte da eine frage bezüglich einer bildergallerie in php: ich benötige ein script, dass mir alle bilder (beliebige namen) aus einem oder mehreren Ordnern (Unterordnern) auf einer site als link verkleinert darstellt (der link bezieht sich auf das originale bild). Das Problem dabei ist jedoch, wenn es sich hierbei um bilder mit einer hohen auflösung handelt. Denn realisiert man das so, dass die Bilder einfach nur verkleinert dargestellt werden, braucht es an zeit, die gesamten grafiken vom server zu laden, wenn man nur 1 oder 2 bilder in originalgröße sehen möchte. Ich brauche ein Script, dass die Bilder aus beliebigen Unterordnern nimmt, echt verkleinert darstellt und bei einem klick auf das bild erst das original image darstellt. Ich hab unter google bereits klassen dafür gefunden, jedoch tu ich mir schwer mit der umsetzung auf meine scripten. thx |
| | |
| | #2 (permalink) |
| Senior Member Registriert seit: 18.09.05 ![]() Likes: 0 | Du köntest das Bild uU. gleich beim Upload umformen lassen. Dass ein sog. Thumbnail erstellt wird, weleches du dann verlinkst. Würde einiges an rechenleistung sparen, aber halt Speicherplatz fressen. (wenn auch wenig) Ein Freund hat mal sowas geschrieben, ich frage mal ob er das noch hat und dir den code überlässt |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 31.03.05 ![]() Likes: 0 | thx wäre toll. die idee ist eigentlich garnicht schlecht: aber ein bild mit dieser größe über http up-zu loaden ... wenn dann würden ich den ganzen ordner (wenn neue bilder vorhanden sind) gleich über ftp uploaden und ein php script starten, dass die php Datei, die die Bilder verkleinert und anzeigt in den ordner kopiert und einen link auf der übersichtsseite zu dieser datei erstellt über eine eigene seite uploaden ist denk ich mal zu kompliziert ...lg |
| | |
| | #4 (permalink) |
| ich hab da mal ein script geschrieben, dass die bilder allerdings in echtzeit verkleinert. Also das auflisten der files dauert dann trotzdem etwas, da jedes bild einseln verkleinert wird. Das ganze funzt nur für jpg (aber kannste ja nach belieben dann auch auf andere formate erweitern. Alles was nicht JPG ist (also auch unterordner) werden als einfacher link angegeben. Aber kannst ja nach belieben erweitern, wie du willst. Ach ja, das script arbeitet immer nur über einen ordner. Inhalte aus unterordnern werden nicht aufgeführt. Code: // ////////////////////////////////////////////////////////////////////////////////
$path = "/www/htdocs/filesss/files/treffen_nbg_2004-1"; // lokaler pfad
$dir = ""; // relativer pfad ab index.php
// ////////////////////////////////////////////////////////////////////////////////
if (isset($_GET['file'])) {
header('Content-type: image/jpeg'); //browser auf imageausgabe vorbereiten
$size = getimagesize($_GET['file']); //bildgröße definieren (ff.)
$width_old = $size[0];
$height_old = $size[1];
$old_picture = imagecreatefromjpeg($_GET['file']); //bild einlesen
if ($width_old > $height_old) { //format auslesen (hochkannt, quer)
$width_new = '170'; //und neue maße proportional berechnen
$div = $width_old / $width_new;
$height_new = $height_old / $div;}
elseif ($width_old < $height_old) {
$height_new = '170';
$div = $height_old / $height_new;
$width_new = $width_old / $div;}
else {
$width_new = '170';
$height_new = $width_new;}
$new_picture = imagecreatetruecolor($width_new, $height_new); //neues bild definieren
imagecopyresampled($new_picture, $old_picture, 0, 0, 0, 0, $width_new, $height_new, $width_old, $height_old); //resample
imagejpeg($new_picture);
exit;
}
echo'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p><strong><font size="5">Dateiliste von YOURSERVER </font></strong></p>
Dieser Webspace dient ausschließlich dazu, diverse dateien online verfügbar zu machen, In Foren einzubinden, oder für Bestimmte zwecke privat erreichbar zu machen.<br>
Ohne ausdrückliche Genehmigung ist es daher untersagt diese Dateien zu Speichern oder weiterzuverwenden.
<hr>
<p>
<table border=0>';
//Daten auslesen
$dp = opendir($path);
while ($file = readdir($dp))
{
if (!preg_match('/^\.{1,2}/', $file) && $file != 'index.php')
{
if (strtolower(substr($file , strlen($file)-3, strlen($file)))=='jpg')
{
echo '<tr><td><img src="index.php?file='.$dir.$file.'"></td>';
}
else
{
echo '<tr><td> </td>';
}
echo '<td><a href="'.$dir.$file.'">'.$file.'</a></td></tr>';
}
}
echo'
</p>
</body>
</html>';
?> | |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 31.03.05 ![]() Likes: 0 | hab mich da grad ein bisschen damit gespielt, irgendwie haut das nicht ganz hin. aber ich weiß jetzt was für einen teil des codes ich benötige, um bilder zu verkleinern: Code: if (isset($_GET['file'])) {
header('Content-type: image/jpeg'); //browser auf imageausgabe vorbereiten
$size = getimagesize($_GET['file']); //bildgröße definieren (ff.)
$width_old = $size[0];
$height_old = $size[1];
$old_picture = imagecreatefromjpeg($_GET['file']); //bild einlesen
if ($width_old > $height_old) { //format auslesen (hochkannt, quer)
$width_new = '170'; //und neue maße proportional berechnen
$div = $width_old / $width_new;
$height_new = $height_old / $div;}
elseif ($width_old < $height_old) {
$height_new = '170';
$div = $height_old / $height_new;
$width_new = $width_old / $div;}
else {
$width_new = '170';
$height_new = $width_new;}
$new_picture = imagecreatetruecolor($width_new, $height_new); //neues bild definieren
imagecopyresampled($new_picture, $old_picture, 0, 0, 0, 0, $width_new, $height_new, $width_old, $height_old); //resample
imagejpeg($new_picture);
exit;
} |
| | |
| | #6 (permalink) |
| ach ja.. dein provider muss natürlich die GDlib2 installiert haben.!! hatte ich vergessen zu erwähnen. | |
| | |
| | #7 (permalink) |
| Hab mir mal den Quellcode genommen und nach meinen Wünschen angepasst der sieht aus wie folgt: PHP-Code: hier der link zum angucken vllt hilft euch das ja: http://truelove-online.de.vu/index.php?section=picz | |
| | |
| | #8 (permalink) |
| Registriert seit: 29.01.06 ![]() Likes: 0 | Das Problem ist, dass du zuerst Text ausgibst, dann das Bild und zuletzt wieder Text. Dann weist du den Browser an, das ganze als Bild zu interpretieren. Der kann damit natürlich nix anfangen. Der Codeschnipsel, das ich gestern hier gepostet habe, sollte eigentlich funktionieren, versuch es mal damit. edit: Ausserdem ist der Code problematisch, weil man ihm per GET-Variable beliebig grosse Bilddateien übergeben kann, was den Server ziemlich belasten kann. |
| | |
| | #9 (permalink) |
| Der Fehler sollte in zeile 50 liegen, weil du da eine andere datei verlinkst.. dort sollte meiner erinenrung nach $SERVER['PHPSELF'] stehen. Weil er ja nur die funktion oben aufruft. Dei Aussage von xsheep, dass der header im nachhinein auf grafikausgabe geändert wird, stimmt nicht.. die headeranweisung wird ausgegeben, wenn man den GDLib-teil aufruft, dieser wird ja aber als grafik eingebunden, vion daher stimmt das schon so. Im moment wird bei dir eben nur der alternativtext ausgegeben, weil der pfad falsch ist. Hingegen stimmt die Aussage, die er nach dem edit eingefügt hat. Aber darüber solltest du dir im klaren sein. evtl können daraus sogar Sicherheitslücken entstehen, denen ich mir nicht bewust bin. edit: Ach ja, wenn alles richtig ist, funzt das script 100 pro, hatte es bis vor kurzem im einsatz, zwar um einige zeilen erweitert, da es inzwischen ein ganzer filebrowser mit miniaturansicht geworden ist., der n haufen dateitypen erkennt, und auch mit unterverzeichnissen umgehen kann, aber das grundgerüst ist das selbe geblieben. | |
| | |
| | #10 (permalink) | |
| Moderator ![]() Registriert seit: 19.06.06 ![]() ![]() ![]() Likes: 52 | Zitat:
wenn ich einfach mal andere werte für file= übergebe bekomme ich auf diese weise auch fehlermeldungen zu sehen, dass die angegebene datei dann nicht geöffnet werden konnte. es ist soweit also eigentlich richtig verlinkt | |
| | |
| | #11 (permalink) |
| Das ansich verlinkte tuts ja... nur der zeigt keine Thumbs an kp warum.. hab das auch geändert nur zeigt keine wirkung bei mir... also die Page liegt im Verzeichnis schatznme dieses Verzeichniss befindet sich auf meiner hauptpage der real-insanity.de, jedoch habe ich die Page die in dem Ordner schatznme befindet über nic.de.vu laufen sprich der Pfad von meiner real-insanity.de Page wäre real-insanity.de/schatznme/ wobei die eig. Seite unter truelove-online.de.vu zu finden ist... hab ich vltl mit den pfad angaben was falsch gemacht? wenn ich die datei ohne über die de.vu Domain drauf zugreife sprich: real-insanity.de/schatznme/inc/ihalt/picz.de?file=imgp3884.jpg zeigt der mir das alles an: Code: <h2>Pictures</h2><br />Hier findet ihr Bilder von uns.<br /><br /><br /> <b>Warning</b>: getimagesize(): Unable to access imgp3884.jpg in <b>/srv/www/htdocs/web81/html/realinsanity/schatznme/inc/inhalt/picz.php</b> on line <b>17</b><br /> <br /> <b>Warning</b>: getimagesize(imgp3884.jpg): failed to open stream: No such file or directory in <b>/srv/www/htdocs/web81/html/realinsanity/schatznme/inc/inhalt/picz.php</b> on line <b>17</b><br /> <br /> <b>Warning</b>: imagecreatefromjpeg(imgp3884.jpg): failed to open stream: No such file or directory in <b>/srv/www/htdocs/web81/html/realinsanity/schatznme/inc/inhalt/picz.php</b> on line <b>20</b><br /> <br /> <b>Warning</b>: imagecopyresampled(): supplied argument is not a valid Image resource in <b>/srv/www/htdocs/web81/html/realinsanity/schatznme/inc/inhalt/picz.php</b> on line <b>33</b><br /> ????JFIF??>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ??C $.' ",#(7),01444'9=82<.342??C 2!!22222222222222222222222222222222222222222222222222????"?Ä ?Ä?}!1AQa"q2??#B?ÁR? $3br? %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz???????Š????????š??¤??§¨????´???¸??Â?Ä??Ç?É??ÓÔ?Ö×??Úáâ?ä??ç?é???óô?ö÷??ú?Ä ?Ä?w!1AQaq"2B???Á #3R br? $4á%?&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz????????Š????????š??¤??§¨????´???¸??Â?Ä??Ç?É??ÓÔ?Ö×??Úâ?ä??ç?é??óô?ö÷??ú?Ú???Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ?? | |
| | |
| | #12 (permalink) | |
| Registriert seit: 29.01.06 ![]() Likes: 0 | Zitat:
| |
| | |
| | #13 (permalink) |
| hab jetzt mal den HTML-Krams rausgenommen funktioniert trotzden leider nicht | |
| | |
| | #14 (permalink) |
| also ich finde unter den angegebenen pfaden auf deinem server auch keine bilder.. (soweit das hier zugriffsberechtigt ist). Schick mir doch mal bitte (per pn oder e-mail) deinen code, und die url zu mindestens einem deiner bilder. dann schau ich mir das am Samstag mal an.. vorher bin ich leider nichtmehr zuhause.. Aber ich behaupte immernoch, dass die pfadangaben nicht stimmen. | |
| | |
| | #15 (permalink) |
| Themenstarter Registriert seit: 31.03.05 ![]() Likes: 0 | löl schon etwas älter der thread aber trotzdem danke. kann das ganze mittlerweile schon selber coden :]zum beispiel: ja also html code und bildcode geht natürlich garnicht. wenn ein php scipt ein bild erzeugt darf es selbst keinen code wie html, javascript usw enthalten. ich denke auch mal, was ich noch nie probiert habe, dass auch "falscher" php code das bild nicht korrekt darstellen lässt, z.b. Code: $dp = opendir($path); while ($file = readdir($dp)) lg |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Online Bilder Galerie | Behemoth | (Web-) Design und webbasierte Sprachen | 3 | 27.01.06 18:14 |
| Statt Webcam-Bild kommt das Bild der TV-Karte | schweiz | Die Problemzone | 9 | 30.06.05 11:05 |
| Suche schlankes Galerie-Script | maedmexx | (Web-) Design und webbasierte Sprachen | 12 | 08.06.05 12:47 |
| PHP - Bilder auslesen und in Galerie darstellen | TheEvilOne | (Web-) Design und webbasierte Sprachen | 10 | 21.02.05 15:24 |
| Projekt: PC-Galerie | Erde | Hardware Mods | 5 | 13.01.05 13:14 |