Zum Inhalt springen

Bildpfad erhalten

Erstellt am 29. Oktober 2004 · 8 Antworten · letzte Antwort am 14. Dezember 2004

Tags: Frage

Flotter ·

Hallo Zusammen!

Ich habe mir mit dem Kickstarter eine kleine Extension erstellt, funktioniert auch bestens. Mit dieser Extension kann ich halt unter anderem 4 Bilder hochladen, habe also 4 einzelne Felder angelegt (für jedes Bild ein Feld).

Jetzt zu meiner Frage / Problem:
Die Bilder werden in den Ordner: "uploads/tx_meineExt"
hochgeladen, desweiteren wird in meiner Tabelle in jeder Spalte ein Blob angelegt (Bild1 = Blob, Bild2 = Blob, Bild3 = Blob, Bild4 = Blob), nur möchte ich nicht, dass die Bilder nochmal in der Datenbank gespeichert werden, wenn diese sowieso schon im Ordner liegen.

Ich möchte einfach nur in jeder Tabellen_Spalte den Pfad zum Bild haben, sprich:

Bild1 = uploads/tx_meineExt/meinBild1.jpg
Bild2 = uploads/tx_meineExt/meinBild2.jpg
Bild3 = uploads/tx_meineExt/meinBild3.jpg
Bild4 = uploads/tx_meineExt/meinBild4.jpg

wie kann ich es erreichen, dass nur dieser Pfad in meiner Tabelle gespeichert wird?

Gibt es eine Möglichkeit, die Bilder beim Upload runter zu skalieren? via ImageMagick...bzw. welche Klasse muss ich dafür ansprechen?

Bin noch am Anfang von Typo3.....

Wäre dankbar, wenn mir jemand sagen könnte, wie das geht...

MfG

TW ·
Flotter schrieb

Hallo Zusammen!

Ich habe mir mit dem Kickstarter eine kleine Extension erstellt, funktioniert auch bestens. Mit dieser Extension kann ich halt unter anderem 4 Bilder hochladen, habe also 4 einzelne Felder angelegt (für jedes Bild ein Feld).

Jetzt zu meiner Frage / Problem:
Die Bilder werden in den Ordner: "uploads/tx_meineExt"
hochgeladen, desweiteren wird in meiner Tabelle in jeder Spalte ein Blob angelegt (Bild1 = Blob, Bild2 = Blob, Bild3 = Blob, Bild4 = Blob), nur möchte ich nicht, dass die Bilder nochmal in der Datenbank gespeichert werden, wenn diese sowieso schon im Ordner liegen.

hm.......aber die werden doch gar nicht in die db gespeichert, wer würde sowas denn machen....im blob is nur der dateiname inkl. pfad drinnen gespeichert...

Ich möchte einfach nur in jeder Tabellen_Spalte den Pfad zum Bild haben, sprich:

Bild1 = uploads/tx_meineExt/meinBild1.jpg
Bild2 = uploads/tx_meineExt/meinBild2.jpg
Bild3 = uploads/tx_meineExt/meinBild3.jpg
Bild4 = uploads/tx_meineExt/meinBild4.jpg

wie kann ich es erreichen, dass nur dieser Pfad in meiner Tabelle gespeichert wird?

schau dir das feld blob an und lass es dir mal in einem script ausgeben...
aber nur das feld...

Gibt es eine Möglichkeit, die Bilder beim Upload runter zu skalieren? via ImageMagick...bzw. welche Klasse muss ich dafür ansprechen?

Bin noch am Anfang von Typo3.....

Wäre dankbar, wenn mir jemand sagen könnte, wie das geht...

MfG

schau dir dazu mal am besten das inhaltselment "bild" an....
in der soruce steht da der aufruf für die imagemagic funktionen..

cu
thorsten

maxhb ·
TW schrieb

schau dir das feld blob an und lass es dir mal in einem script ausgeben...
aber nur das feld...

Oder einfach im PHP-MyAdmin den Feldtyp auf TEXT stellen, dann siehst Du die Pfade... Frage mich eh, warum das Feld vom Typ Blob ist

CU
maxhb

Stoneage ·

Bei mir steht aber nur der Bildname drin, nicht der Pfad. Und was genau mache ich damit? Ich will die Bilder resizen und cachen. Hat da jemand ein paar Tips?

Gruß,

T.

maxhb ·
Tetramatrix schrieb

Bei mir steht aber nur der Bildname drin, nicht der Pfad.

Naja, den Pfad kannst Du aj selbst ermitteln, schliesslich weisst Du ja, das sie unter uploads/tx_deineextension/ liegen.

Tetramatrix schrieb

ch will die Bilder resizen und cachen. Hat da jemand ein paar Tips?

Schau Dir doch mal in der TSREF das cIMG Objekt an, damit kannst Du all das erreichen.

CU
maxhb

Stoneage ·

Ich hab mir in der TSREF das cIMG Objekt angeschaut, aber ich werde nicht schlau daraus, wie man das in eine Extension einbaut. Ich hab mir das Beispiel von Hachtmeister angeschaut, aber da wird nix resized und gecached. Hast Du vielleicht ein Beispiel?

T.

Stoneage ·

ich hab jetzt sowas gebaut, und scheint zu funktionieren:

        $img = t3lib_div::makeInstance('t3lib_stdGraphic');
        $img->mayScaleUp = 0;
        $img->init();
        if ($this->sample)	{$img->scalecmd = '-sample';}
        if ($this->alternativeTempPath && t3lib_div::inList($GLOBALS['TYPO3_CONF_VARS']['FE']['allowedTempPaths'],$this->alternativeTempPath))	{
            $img->tempPath = $this->alternativeTempPath;
        }
        $imgInfo = $img->imageMagickConvert('fileadmin/uploads/tx_typo3rockz/'. $item[10],'',"110",'',"-quality 90","0",'');

Grüße,

T.