Homepage selbermachen 7.851 Themen, 35.615 Beiträge

PHP Funktion bilder erzeugen, traffic sparen: nur einmal thu

T E S T E R / 20 Antworten / Flachansicht Nickles



function pic($bild,$id,$ordner) {
$PicPathIn="$ordner/";
$PicPathOut="out/";
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=53;
$neueHoehe=$hoehe*$neueBreite/$breite;
$size[2]==2;
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=imageCreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."$ordner"."TN"."$bild");
$Thumbnail=$PicPathOut."$ordner"."TN".$bild;

echo "<a href=\\"photo.php?id=$id&option=pic_show&picid=$bild&height=$hoehe&width=$breite\\">
<IMG SRC=\\"$Thumbnail\\" WIDTH=\\"$neueBreite\\" HEIGHT=\\"$neueHoehe\\"></a> ";
}


ich hab hier eine funktion, mittels welcher ich bilder erzeugen lasse, die aus einer db gelesen werden, bzw. die
pfade zu den bildern werden aus einer db gelesen. ok....ich befürchte, dass, wenn jedesmal von neuem ein thumbnail von
circa 2kb erzeugt wird, irgendwann mein provider meckert, daher will ich die thumbnails genau einmal erstellenl assen,
dann aber nur noch auf die bereits erstellten zurückgreifen, ich dachte das geht mit file_exists also:
if(file_exists...... aber das geht nicht. weiss jemand einen tipp wie ich prüfen kann, ob die datei schon vorhanden ist
und dann in diesem falle die datei nicht nochmal erzeugt wird, oder wird die datei garnicht nochmal gelöscht und von php
nochmal erzeugt, wenn ein 2. und 3. usw. user auf die bilder zugreifen?
bei Antwort benachrichtigen
T E S T E R xafford „ausklammern? wie? einfach nur: if !file_exists pfad/zur/datei //hier alles, was...“
Optionen

das problem, ich würde das so machen: (aber das geht nicht ohne ne menge parse errors)

function pic($bild,$id,$ordner) {
$PicPathIn="$ordner/";
$PicPathOut="out/";

if(!file_exists("pfad/zur/datei"))
{
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=53;
$neueHoehe=$hoehe*$neueBreite/$breite;
$size[2]==2;
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=imageCreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."$ordner"."TN"."$bild");
$Thumbnail=$PicPathOut."$ordner"."TN".$bild;
}
echo "
";
}

bei Antwort benachrichtigen
*plonk* Zaphod
*plonk* T E S T E R
Die Lösung Heinz_Malcher