PHP Upload image og så Resize det
Hej eksperter,jeg har hvad der synes at være et meget simpelt spørgsmål, men da jeg er lidt af en nybegynder til PHP, så har jeg dog alligevel lidt problemer.
Sagen er den, at jeg har et lille forum jeg har lavet, hvor det er muligt at uploade vedhæftede billeder. Selve upload funktionen er lavet og virker, og den sætter billednavnet til id'et og redirecter automatisk til indlægget og billedet bliver også fint vist. Alt sammen meget godt.
Nu er problemet bare, at uploader man et billede med lidt for store dimensioner, så kommer siden mildest talt til at se meget "skæv" ud. Jeg har googlet lidt frem og tilbage og også været herinde og se forrige indlæg, så jeg ved at jeg ikke er den eneste der har sådan et behov.
Jeg har prøvet at følge eksempler både herfra og fra diverse sider, men synes stadig at have svært ved det.
Min kode ser ud som følgende:
if (isset($_FILES['image'])) {
if (($_FILES['image']['type'] == "image/pjpeg")
|| ($_FILES['image']['type'] == "image/jpeg")
|| ($_FILES['image']['type'] == "image/gif" )) {
$ext = strrchr($_FILES['image']['name'],'.');
$name = basename($_FILES['image']['name'], $ext);
$newimagename = $post->getID().$ext;
$pathstring = "attachments/";
if (move_uploaded_file($_FILES['image']['tmp_name'], $pathstring.$newimagename)) {
$Attimage = new ForumAttachment();
$Attimage->setFilePath($pathstring.$newimagename);
$Attimage->setForumPostID($post->getID());
$Attimage->insert();
Det skal lige siges, at jeg benytter mig af PEAR frameworket db_DataObject så derfor ser min insert kode og SQL ud som den gør, men bare tag mit ord for, at det altså virker :-)
Ja, I kan jo nok godt selv regne ud hvor og hvordan det skal gøres, men jeg vil alligevel for god orden skyld lige nævne, at det jeg ønsker er, at filen bliver uploadet. Så bliver højde og bredde aflæst, og er den for stor i forhold til et max (som jeg tænker skal være 400px, så skal den resizes, men selvfølgelig efter korrekte ratio, så der ikke kommer til at være mærkelige udstrukket billeder og den slags.
Når det så er sket, skal billedet gemmes i mappen "attachments" med filnavnet ID, som jeg har deklareret i variablen "$newimagename".
Ja, det er vel egentlig "bare" det og jeg kan næsten se ud fra alle de eksempler at det meget er den samme fremgangsmåde, men jeg er sgu gået hen og forvirret mig selv så meget, at jeg kogler rundt i den og konstant ender med fejl :-S
Så jeg vil i sagens kerne blive utroligt glad for hvis der var en som sad med en løsning, der bare fungede og som selvfølgelig bliver kvitteret med en omgang point.
På forhånd tak for jeres hjælp og tid
Mvh
Emil
