Habe ein Problem mit Skalierung von Bildern in MYSQL bzw. Umsetzujng auf PHP. Habe mir hier einiges angeschaut, bei mir funktionierts allerdings nicht.
Ausgangssituation.
Ich habe eine Datenbank, in der ich Bilder in Originalgrösse abgelegt habe. Diese anzuzeigen funktioert bestens, jedoch möchte ich auch nunmehr Thumbs darstellen, habe derzeit die Lösung mit <src ... width ... high ...>Das funktioniert zwar, nur der Aufbau ist mir zu langsam (obwohl es nur ca. 50 Bilder sind), daher möchte ich diese Bilder beim ausgeben automatisch skalieren, so dass das file kleiner wird.
Variante 1 ich mache alle Bilder nochmals und erzeuge auf der Festplatte die Thumbs - ist mir zu "blöd"
Variante 2 die strebe ich an - autom skalierung beim Hochladen.
Mein Script schaut folgendermassen aus:
<?php
// Systemeinstellungen
//Test
$InseratNr = "114";
$id = "132";
$h_max = "133";
$w_max = "100";
if (isset($_GET['id'])) {
@mysql_connect($localhost, $user, $passwort);
@mysql_select_db($db_name);
// Daten über das gewünschte Bild aus mySQL lesen
$sql = "SELECT * FROM $table WHERE id = '".$_GET['id']."' LIMIT 1";
$result = @mysql_query($sql);
$row = mysql_fetch_object($result);
// Prüfen, ob die gewählte Datei tatsächlich ein Bild ist
if (strpos($row->filetype, "image/jpeg") !== false) {
// Dem Browser mitteilen, dass jetzt ein Bild kommt
header("Content-type: " . $row->filetype);
// Daten dekodieren und an den Browser senden
echo base64_decode($row->filecontent);
}
exit;
}
******************* hier liegt das Problem!!
list($w, $h) = getimagesize($filecontent);
$attrib = ($w>$h ? 'width="'. $w_max. '"' : 'height="'. $h_max. '"');
*******************
echo "<body>";
****************** das hier wird mir nicht angezeigt!! in "Filecontent" liegt die Bildinformation"!!!
echo '<img src="', $filecontent, '" '. $attrib. '">';
******************
******************dieses Bild wird in Originalgrösse richtig angezeigt
echo "<img src='IMAGE_ANZTHUMB1.PHP?id=$id' alt='Bild Nr.1'>";
echo "</body>";
?>
Könnt Iht mir dabei helfen?
Bitte um Eure Unterstützung!!
Danke im voraus.
lg
Michael
Ausgangssituation.
Ich habe eine Datenbank, in der ich Bilder in Originalgrösse abgelegt habe. Diese anzuzeigen funktioert bestens, jedoch möchte ich auch nunmehr Thumbs darstellen, habe derzeit die Lösung mit <src ... width ... high ...>Das funktioniert zwar, nur der Aufbau ist mir zu langsam (obwohl es nur ca. 50 Bilder sind), daher möchte ich diese Bilder beim ausgeben automatisch skalieren, so dass das file kleiner wird.
Variante 1 ich mache alle Bilder nochmals und erzeuge auf der Festplatte die Thumbs - ist mir zu "blöd"
Variante 2 die strebe ich an - autom skalierung beim Hochladen.
Mein Script schaut folgendermassen aus:
<?php
// Systemeinstellungen
//Test
$InseratNr = "114";
$id = "132";
$h_max = "133";
$w_max = "100";
if (isset($_GET['id'])) {
@mysql_connect($localhost, $user, $passwort);
@mysql_select_db($db_name);
// Daten über das gewünschte Bild aus mySQL lesen
$sql = "SELECT * FROM $table WHERE id = '".$_GET['id']."' LIMIT 1";
$result = @mysql_query($sql);
$row = mysql_fetch_object($result);
// Prüfen, ob die gewählte Datei tatsächlich ein Bild ist
if (strpos($row->filetype, "image/jpeg") !== false) {
// Dem Browser mitteilen, dass jetzt ein Bild kommt
header("Content-type: " . $row->filetype);
// Daten dekodieren und an den Browser senden
echo base64_decode($row->filecontent);
}
exit;
}
******************* hier liegt das Problem!!
list($w, $h) = getimagesize($filecontent);
$attrib = ($w>$h ? 'width="'. $w_max. '"' : 'height="'. $h_max. '"');
*******************
echo "<body>";
****************** das hier wird mir nicht angezeigt!! in "Filecontent" liegt die Bildinformation"!!!
echo '<img src="', $filecontent, '" '. $attrib. '">';
******************
******************dieses Bild wird in Originalgrösse richtig angezeigt
echo "<img src='IMAGE_ANZTHUMB1.PHP?id=$id' alt='Bild Nr.1'>";
echo "</body>";
?>
Könnt Iht mir dabei helfen?
Bitte um Eure Unterstützung!!
Danke im voraus.
lg
Michael
Kommentar