thumbnails maken!

  • Onderwerp starter Onderwerp starter kaan
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

kaan

Gebruiker
Lid geworden
9 feb 2007
Berichten
189
Beste,

Ik heb een php site en gebruik een code om fotos te uploaden.

Wat ik wil is dat die ook meteen thumbnails maakt.

Kan iemand mij vertellen of helpen om deze script zodanig aan te passen dat die ook meteen thumbnail aanmaakt?

Code is:

PHP:
case "add_save":
        if (($mer_adi=="")OR($kat_id=="")OR($mer_icerik=="")) {
            include("header.php");
            OpenTable();
            echo "<center><b>"._MER_MISSINGDATA."</b></center><br>\n";
            echo "<center>"._GOBACK."</center>\n";
            CloseTable();
            include("footer.php");
            die();
        }
        $dtarih = "$mer_dyil-$mer_day-$mer_dgun";
        $otarih = "$mer_oyil-$mer_oay-$mer_ogun";
        if ($Merrhum_ub['image_type']==0) {
            $imgurl = $mer_image;
        } else {
            list($newest_oid) = $db->sql_fetchrow($db->sql_query("SELECT max(mer_id) AS newest_oid FROM ".$prefix."_by_merhum"));
            if ($newest_oid == "-1") { $new_oid = 1; } else { $new_oid = $newest_oid+1; }
            $oid = str_pad($new_oid, 6, "0", STR_PAD_LEFT);
            $imageurl_name = $_FILES['mer_image']['name'];
            $siteimagetype = $_FILES['mer_image']['type'];
            $imageurl_temp = $_FILES['mer_image']['tmp_name'];
            $ext = substr($imageurl_name, strrpos($imageurl_name,'.'), 5);


	       $siteimagetypes= substr($siteimagetype,0,5);
          if ($siteimagetypes==image) {

             if (move_uploaded_file($imageurl_temp, "modules/$module_name/resim/$oid$ext")) {
                chmod ("modules/$module_name/resim/$oid$ext", 0777);
                $imgurl = "modules/$module_name/resim/$oid$ext";
             } else {
                include("header.php");
                title(_MER_CONFBANN);
                OpenTable();
                echo "<center><b>"._MER_NOUPLOAD."</b></center><br>\n";
                echo "<center>[<a href=\"javascript:history.back();\">"._MER_BACK."</a>]</center>";
                CloseTable();
                include("footer.php");
                die();
             }

            } else {
                include("header.php");
                title(_MER_CONFBANN);
                OpenTable();
                echo "<center><b>"._MER_NOUPLOAD."</b></center><br>\n";
                echo "<center>[<a href=\"javascript:history.back();\">"._MER_BACK."</a>]</center>";
                CloseTable();
                include("footer.php");
                die();
            }



        }
     if (is_admin($admin))  {$mer_status = 1;} else {$mer_status = 0;}

        $result = $db->sql_query("INSERT INTO ".$prefix."_by_merhum values (NULL, '$mer_adi', '$kat_id', '$imgurl', '$dtarih', '$otarih', '$mer_status', '0', now(), '$mer_icerik', '$user_id', '$user_name', '$user_email', '$user_ip')");
        $db->sql_query("UPDATE ".$prefix."_by_merhum_kat SET kat_total=kat_total+1 where kat_id='$kat_id'");

        if (!$result) {
            include("header.php");
            OpenTable();
            echo "<center><b>"._MER_DBERROR1."</b></center><br>\n";
            echo "<center>"._GOBACK."</center>\n";
            CloseTable();
            include("footer.php");
            die();
        } else {
            $msg = "$sitename "._MER_YAZILERDATE."\n\n";
            $msg .= _MER_YAZINAME.": $mer_adi\n";
            $msg .= _MER_YAZIURL.": $mer_katid\n";
            $msg .= _MER_YAZIIMAGE.": $imgurl\n";
            $msg .= _MER_YAZIDESCRIPTION.": $mer_icerik\n";
            $msg .= YAZILERID2.": $user_id\n";
            $msg .= _MER_YAZILERNAME2.": $user_name\n";
            $msg .= _MER_YAZILEREMAIL2.": $user_email\n";
            $msg .= _MER_YAZILERIP2.": $user_ip\n";
            $to = $adminmail;
            $subject = "$sitename - "._MER_SITELERDATE;
            $mailheaders = "From: $adminmail\r\n";
            $mailheaders .= "Reply-To: $adminmail\r\n";
            $mailheaders .= "Return-Path: $adminmail\r\n";
            mail($to, $subject, $msg, $mailheaders);
        }
        Header("Location: $comefrom");
    break;
 
Laatst bewerkt:
Scripts zijn best aan te passen.

Je kunt thumbnails maken met de php functie imagecopyresized()

Zie de uitleg van de functie hier:
http://nl.php.net/manual/en/function.imagecopyresized.php

En een voorbeeld hier:

PHP:
// File and new size
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-type: image/jpeg');

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagejpeg($thumb);
 
Scripts zijn best aan te passen.

Je kunt thumbnails maken met de php functie imagecopyresized()

Zie de uitleg van de functie hier:
http://nl.php.net/manual/en/function.imagecopyresized.php

En een voorbeeld hier:

PHP:
// File and new size
$filename = 'test.jpg';
$percent = 0.5;

// Content type
header('Content-type: image/jpeg');

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagejpeg($thumb);

Dank voor je snelle reaktie.

Ik heb deze post al gezien en heb geprobeerd om het in mijn script toe te voegen maar waarschijnlijk heb ik de kennis niet om dit te kunnen!

Daarom heb ik jullie hulp nodig.
 
Laatst bewerkt:
Waar heb je onze hulp mee nodig? :) We zijn hier niet om al jouw scripts voor je te maken namelijk.
 
Waar heb je onze hulp mee nodig? :) We zijn hier niet om al jouw scripts voor je te maken namelijk.

Ik heb inmiddels al de hele internet afgezocht en niet uitgekomen hoe ik in mij script zodanig aan kan passen zodat hij ook thumpnails aanmaakt!

Ik heb nergen gemeld dat jij een hele script voor mij gaat schrijven, darom kan ik het ook niet begrijpen hoe je aan het idee komt dat ik van jou verwacht dat jij voor mij een compleet script gaar schrijven!

Wel is het bij iedere forum erg normaal dat er mensen zoals ik die niet uitkomen met een probleem dit ook vragen aan de anderen of zij kunnen helpen, dit ben ik ook van deze site gewend.
Ik ben meerdere malen uitstekend geholpen door andere en ben ze ok erg dankbaar.

Daarom vraag ik zeer vriendelijk of iemand mij kan helpen om deze probleem op te lossen.

Wat is hier mis mee?
 
Heb laatst ook toevallig een functie geschreven om een thumbnail te maken, echter is jouw uploadform me een beetje onduidelijk.

Anyways, de code van Frats is een stap voor jou in de goede richting.
PHP:
$filename = 'test.jpg';
$source = imagecreatefromjpeg($filename);

De source is dus test.jpg, deze moet jij dan veranderen in jouw bestandsnaam. Hij maakt dan het plaatje half de grootte. Misschien dat je verder wat functionaliteit kunt geven?
 
Ik heb je een voorbeeld gegeven... als je nu niet laat zien welke dingen je geprobeerd hebt kan ik je niet echt veel meer uitleg geven ;)
Laat eens even de stappen zien die je gedaan hebt, welk deel je begrijpt en welk deel je nog niet begrijpt, dan kan ik je een reply op maat geven :P
 
Heb laatst ook toevallig een functie geschreven om een thumbnail te maken, echter is jouw uploadform me een beetje onduidelijk.

Anyways, de code van Frats is een stap voor jou in de goede richting.
PHP:
$filename = 'test.jpg';
$source = imagecreatefromjpeg($filename);

De source is dus test.jpg, deze moet jij dan veranderen in jouw bestandsnaam. Hij maakt dan het plaatje half de grootte. Misschien dat je verder wat functionaliteit kunt geven?

Raymon dank voor je post.

Ik zal proberen mijn script een beetje uit te leggen.



$imgurl = $mer_image; (dit is de foto die door een form word geuploaded)
} else {
list($newest_oid) = $db->sql_fetchrow($db->sql_query("SELECT max(mer_id) AS newest_oid FROM ".$prefix."_by_merhum")); ( hier word de database gekontroleerd of de naam fan de foto al bestaat )
if ($newest_oid == "-1") { $new_oid = 1; } else { $new_oid = $newest_oid+1; }
$oid = str_pad($new_oid, 6, "0", STR_PAD_LEFT);
$imageurl_name = $_FILES['mer_image']['name']; ( mer_iage is de foto die moet worden uploaded )
$siteimagetype = $_FILES['mer_image']['type'];
$imageurl_temp = $_FILES['mer_image']['tmp_name'];
$ext = substr($imageurl_name, strrpos($imageurl_name,'.'), 5);


$siteimagetypes= substr($siteimagetype,0,5);
if ($siteimagetypes==image) {

if (move_uploaded_file($imageurl_temp, "modules/$module_name/resim/$oid$ext")) { ( hieronder in deze map word de foto uploaded pad: modules/$module_name/resim/ met deze naam: $oid$ext )
chmod ("modules/$module_name/resim/$oid$ext", 0777);
$imgurl = "modules/$module_name/resim/$oid$ext";
} else {
include("header.php");
title(_MER_CONFBANN);
OpenTable();
echo "<center><b>"._MER_NOUPLOAD."</b></center><br>\n";
echo "<center>[<a href=\"javascript:history.back();\">"._MER_BACK."</a>]</center>";
CloseTable();
include("footer.php");
die();
}

} else {
include("header.php");
title(_MER_CONFBANN);
OpenTable();
echo "<center><b>"._MER_NOUPLOAD."</b></center><br>\n";
echo "<center>[<a href=\"javascript:history.back();\">"._MER_BACK."</a>]</center>";
CloseTable();
include("footer.php");
die();
}



}
if (is_admin($admin)) {$mer_status = 1;} else {$mer_status = 0;}

$result = $db->sql_query("INSERT INTO ".$prefix."_by_merhum values (NULL, '$mer_adi', '$kat_id', '$imgurl', '$dtarih', '$otarih', '$mer_status', '0', now(), '$mer_icerik', '$user_id', '$user_name', '$user_email', '$user_ip')"); ( en hier word de naam van de foto opgeslagen in database )
$db->sql_query("UPDATE ".$prefix."_by_merhum_kat SET kat_total=kat_total+1 where kat_id='$kat_id'");
 
Laatst bewerkt:
Dan moet het niet zo heel moeilijk zijn;

Alles met $filename wordt gewoon die naam van het bestand.
$oid . $ext in jouw geval neem ik dus aan.

Je upload werkt gewoon verder? Dan zou je thumb nu dus ook aangemaakt moeten worden. Even opletten op het volgende

PHP:
imagejpeg($thumb, 'jouwdirectory'. $thumb, 100); // plaatje, folder samen met het bestand waar het geplaatst word, en de kwaliteit

Hoop dat je er wat mee kunt.
 
Dan moet het niet zo heel moeilijk zijn;

Alles met $filename wordt gewoon die naam van het bestand.
$oid . $ext in jouw geval neem ik dus aan.

Je upload werkt gewoon verder? Dan zou je thumb nu dus ook aangemaakt moeten worden. Even opletten op het volgende

PHP:
imagejpeg($thumb, 'jouwdirectory'. $thumb, 100); // plaatje, folder samen met het bestand waar het geplaatst word, en de kwaliteit

Hoop dat je er wat mee kunt.

Raymond ik heb het op volgende wijze geprobeerd maar helaas maakt hij geen thumbs aan.

Wat doe ik fout?

if (move_uploaded_file($imageurl_temp, "modules/$module_name/resim/$oid$ext")) {
chmod ("modules/$module_name/resim/$oid$ext", 0777);
$imgurl = "modules/$module_name/resim/$oid$ext";
imagejpeg($oid$ext, 'modules/$module_name/resim/thumb'. $oid$ext, 100); // plaatje, folder samen met het bestand waar het geplaatst word, en de kwaliteit
 
Laatst bewerkt:
Je doet niets om het formaat aan te passen.... ik stel voor dat je nogmaals naar het bericht van Frats kijkt.
 
Je doet niets om het formaat aan te passen.... ik stel voor dat je nogmaals naar het bericht van Frats kijkt.

Ik heb alles geprobeerd wat ik kan bedenken maar helaas het wil mij niet lukken.

Ik kom er gewoon niet uit :(:(:(
 
Je gebruikt imagecopyresized nu niet, zoals voorheen gezegd (aannemend dat dit je enige code is die je toegevoegd hebt?)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan