[GastForen Programmierung/Entwicklung PHP und MySQL

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Bilder im User Profil uploaden

Jeyenne
Beiträge gesamt: 13

9. Feb 2005, 16:34
Bewertung:

gelesen: 1998

Beitrag als Lesezeichen
Hallo, ich hab mal kurz ne Funktion zum uploaden geschrieben:
function f_upload_picture($bild, $folder)
{
$p_name = "bild_";
$p_number = 1;
$p_folder = $folder;
$p_allowed_types = array "image/pjpeg", "image/jpeg", "image/jpg");
if(in_array($_FILES["$bild"]['type'], $p_allowed_types))
{
$picture_name = $p_name.$p_number.".jpg";
if (file_exists("$p_folder/$picture_name"))
{
do
{
$p_number++;
$picture_name= $p_name.$p_number.".jpg";
}
while (file_exists("$p_folder/$picture_name"));
}
if(!copy($_FILES["$bild"]['tmp_name'],"$p_folder/$picture_name"))
{
return false;
}
else
{
$picture_no = array($p_folder, $picture_name);
$thumbnail = f_make_thumbnail($picture_no);
$pa_picture = array("picture" => "$picture_no", "thumbnail" => "$thumbnail");
return $pa_picture;
}
}
else
{
return "jpg";
}
}

Bei dieser Funktion musst du eine Variable mit dem Bildpfad und dem Bildfolder mitgeben. Rückgabewert ein Array, welches den neuen Bildpfad beinhaltet aufgeteilt ind folder und bild innerhalb eines zusätzlichen Arrays und den thumbnailpfad.
Ebenso werden die Bilder automatisch als Thumbnails verkleinert durch diese funktion:

function f_make_thumbnail($picture)
{
if(!is_array($picture))
{
return false;
}
else
{
$p_size_original=getimagesize("$picture[0]"."/"."$picture[1]");
$p_width = $p_size_original[0];
$p_height = $p_size_original[1];
$p_new_width = 80;
$p_new_height = intval($p_height * $p_new_width / $p_width);
$p_old_picture = ImageCreateFromJPEG("$picture[0]"."/"."$picture[1]");
$p_new_picture = ImageCreateTrueColor($p_new_width,$p_new_height);
ImageCopyResized($p_new_picture, $p_old_picture, 0, 0, 0, 0, $p_new_width, $p_new_height, ImageSX($p_old_picture), ImageSY($p_old_picture));
ImageJPEG($p_new_picture, "$picture[0]"."/"."thumbnail_"."$picture[1]");
$p_new_picture = "thumbnail_".$picture[1];
return $p_new_picture;
}
}

Diese funktion erstellt thumbnails der weite 80px....
________________________________
mfg Jeyenne

(Dieser Beitrag wurde von Jeyenne am 9. Feb 2005, 16:39 geändert)
Dieser Beitrag wurde nicht geändert.