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 „file_exists sollte eigentlich funktionieren, wenn du probleme damit hast, dann...“
Optionen

danke für deinen tipp, das problem ist dass ich mit file_exists nicht weiss, was genau ich in der funktion alles ausklammern soll:

if(!file_exits($....//pfad auf das thumb//))
{
was hier alles ausgeklammert werden soll ist mir unklar
}

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