Hallo zusammen!
Bei der Überschrift denken die meisten sicher, "Benutz' die Suche"!
Leider habe ich keinen blassen Schimmer von PHP und soll nun für einen sehr, sehr guten Freund ein paar Bilder austauschen.
Das Problem:
Ich habe eine Seite, in der mehrere Bilder per FTP in einen Ordner "img" hochgeladen wurden und dann die entsprechenden Bilder über den Dateinamen, der entsprechend dem Bildtitel lauten muss, angezeigt werden sollen.
Soweit so gut, das bekomme ich grundlegend hin, indem ich eben die Bilder in das entsprechende Verzeichnis lade und dementsprechend benenne.
Jetzt hat aber die Anzeige der Bilder eine feste Größe, soweit ich das bis jetzt herausfinden konnte, im Hochformat, Ausgangsgröße 1654 x 2339 Pixel, skaliert 490 x 700 Pixel.
Leider sind nun die neuen Bilder (fast) alle im Querformat, weshalb ich nun die Bilder, bzw. die PHP-Datei so anpassen soll, dass die Bilder proportional auf eine maximale Kantenlänge von 1024 Pixel skaliert werden sollen, bzw. die Thumbnails mit 105 x 150 Pixel, dann notfalls ein Ausschnitt aus dem Querformat.
Wie gesagt habe ich davon keine Ahnung, habe auch schon versucht einige Freunde telefonisch zu erreichen, aber komme da nicht weiter.
Da die Zeit eilt und ich leider nicht so schnell die Grundzüge von PHP erlernen werde, wäre es suuuuuuper nett, wenn mir jemand von euch den Code anschauen könnte und mir da ein wenig auf die Sprünge helfen kann.
Ich weiß, ist frech, aber leider weiß ich mir momentan keinen besseren Ausweg um das Ganze hinzubekommen und da ich dem Freund Einiges verdanke, möchte ich ihm den Wunsch sehr, sehr gerne umsetzen.
Schonmal tausend Dank für eure Hilfe!!!!
Jetzt noch zum Code...
Soweit mein laienhaftes Auge das erkennen kann, ist es doch wohl so, dass die Variable "i" ausgelesen
wird (in dem Fall der Bildname) und dann darin die Bezeichnung "ABC" gelöscht/durch "" ersetzt wird.
Dann wird geprüft, ob ein Bild mit entsprechendem Dateinamen besteht und dann wird es mit imagecopyresampled auf die Größe 1654 x 2339 Pixel überprüft und dann an eine bestimmte Position in der Größe 490 x 700 Pixel platziert und ein Thumbnail im Format 105 x 150 Pixel erstellt.
Falls das Bild auch mit dem Zusatz "rs" im Dateinamen existiert, wird dieses ebenfalls angezeigt, und rechts neben das erste Bild, ohne "rs" platziert, richtig? Bei neuen Bildern, die ich hochlade, funktioniert das aber nicht?
Meine Frage ist nun, wie kann ich eine Datei, die im Querformat ist, dann abfragen (ich dachte da an den Zusatz im Dateinamen "_qf" und dann entsprechend im Quer-, statt im Hochformat anzeigen lassen?
Könnt ihr mir bitte weiterhelfen??
Viiiielen Dank!!
Grüße René
Bei der Überschrift denken die meisten sicher, "Benutz' die Suche"!
Leider habe ich keinen blassen Schimmer von PHP und soll nun für einen sehr, sehr guten Freund ein paar Bilder austauschen.
Das Problem:
Ich habe eine Seite, in der mehrere Bilder per FTP in einen Ordner "img" hochgeladen wurden und dann die entsprechenden Bilder über den Dateinamen, der entsprechend dem Bildtitel lauten muss, angezeigt werden sollen.
Soweit so gut, das bekomme ich grundlegend hin, indem ich eben die Bilder in das entsprechende Verzeichnis lade und dementsprechend benenne.
Jetzt hat aber die Anzeige der Bilder eine feste Größe, soweit ich das bis jetzt herausfinden konnte, im Hochformat, Ausgangsgröße 1654 x 2339 Pixel, skaliert 490 x 700 Pixel.
Leider sind nun die neuen Bilder (fast) alle im Querformat, weshalb ich nun die Bilder, bzw. die PHP-Datei so anpassen soll, dass die Bilder proportional auf eine maximale Kantenlänge von 1024 Pixel skaliert werden sollen, bzw. die Thumbnails mit 105 x 150 Pixel, dann notfalls ein Ausschnitt aus dem Querformat.
Wie gesagt habe ich davon keine Ahnung, habe auch schon versucht einige Freunde telefonisch zu erreichen, aber komme da nicht weiter.
Da die Zeit eilt und ich leider nicht so schnell die Grundzüge von PHP erlernen werde, wäre es suuuuuuper nett, wenn mir jemand von euch den Code anschauen könnte und mir da ein wenig auf die Sprünge helfen kann.
Ich weiß, ist frech, aber leider weiß ich mir momentan keinen besseren Ausweg um das Ganze hinzubekommen und da ich dem Freund Einiges verdanke, möchte ich ihm den Wunsch sehr, sehr gerne umsetzen.

Schonmal tausend Dank für eure Hilfe!!!!
Jetzt noch zum Code...
PHP:
<?php
$_GET['i'] = str_replace("ABC", "", $_GET['i']);
if(!file_exists('./img/'.$_GET['i'].'.jpg')) exit();
if(!$_GET['b'])
{
$img = ImageCreateFromJPEG('./img/'.$_GET['i'].'.jpg');
$neu = ImageCreateTrueColor(105, 150);
$fa = imagecolorallocate($neu, 100, 100, 100);
imagefill($neu, 0,0, $fa);
imagecopyresampled($neu , $img, 0, 0, 0, 0, 105, 150, 1654, 2339);
}
else {
if($_GET['rs'])
{
$img1 = ImageCreateFromJPEG('./img/'.$_GET['i'].'.jpg');
$img2 = ImageCreateFromJPEG('./img/'.$_GET['i'].'rs.jpg');
$neu = ImageCreateTrueColor(981, 700);
imagecopyresampled($neu , $img1, 0, 0, 0, 0, 490, 700, 1654, 2339);
imagecopyresampled($neu , $img2, 491, 0, 0, 0, 490, 700, 1654, 2339);
}
else {
$img1 = ImageCreateFromJPEG('./img/'.$_GET['i'].'.jpg');
$neu = ImageCreateTrueColor(490, 700);
imagecopyresampled($neu , $img1, 0, 0, 0, 0, 490, 700, 1654, 2339);
}
}
Header('Content-type: image/jpeg');
ImageJPEG($neu, '', 90);
?>
Soweit mein laienhaftes Auge das erkennen kann, ist es doch wohl so, dass die Variable "i" ausgelesen
wird (in dem Fall der Bildname) und dann darin die Bezeichnung "ABC" gelöscht/durch "" ersetzt wird.
Dann wird geprüft, ob ein Bild mit entsprechendem Dateinamen besteht und dann wird es mit imagecopyresampled auf die Größe 1654 x 2339 Pixel überprüft und dann an eine bestimmte Position in der Größe 490 x 700 Pixel platziert und ein Thumbnail im Format 105 x 150 Pixel erstellt.
Falls das Bild auch mit dem Zusatz "rs" im Dateinamen existiert, wird dieses ebenfalls angezeigt, und rechts neben das erste Bild, ohne "rs" platziert, richtig? Bei neuen Bildern, die ich hochlade, funktioniert das aber nicht?
Meine Frage ist nun, wie kann ich eine Datei, die im Querformat ist, dann abfragen (ich dachte da an den Zusatz im Dateinamen "_qf" und dann entsprechend im Quer-, statt im Hochformat anzeigen lassen?
Könnt ihr mir bitte weiterhelfen??
Viiiielen Dank!!
Grüße René