10. september 2005 - 23:25Der er
26 kommentarer og 1 løsning
uploade billede ved hjælp af gd og php
Hej
Er der en der har et eksempel-kodestump på hvordan man arbejder sig frem til at uploade et billede til serveren, hvor dens oprindleige store format i processen bliver gjort mindre.... Det skal gøres vha php og gd.
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
$filename = "test.jpg"; //f.eks. et billede som lige er uploadet. $newfilename = "nyt_test.jpg"; //Det nye billede, som er resized. $maxw = 100; Max bredde. $maxh = 100; Max højde. (hvis et billede f.eks. er 600*400, bliver det ikke resized til: 100*100, men den udregner forholdet, så det vil blive til: 100*67)
Et sidste spørgsmål inden du velfortjent får pointene...
Det jeg ønsker er at lave en formular, hvor jeg uploader billedet. Dvs det store billede ligger på min computer, hvorefter den inden den flytter billedet over på serveren skal resize den....
Hvis jeg må se den, så kan den med stor sandsynlighed redigeres! Dog skal vi lige blive enige om noget. Skal det store / originale billede også gemmes? Eller er det kun det resizede billede som skal gemmes på serveren?
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
/* Check PHP-version */ list($major, $minor, $rev) = explode(".", phpversion()); if($major < 4) { die("Jeg kan kun arbejde med PHP 4.0.0 eller derover"); }
/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */ if($minor < 1) { $_FILES = $HTTP_POST_FILES; $_POST = $HTTP_POST_VARS; $_SERVER = $HTTP_SERVER_VARS; }
/* Accepterer vi filens stoerrelse? */ $fil_stoerrelse = filesize($fra)/1024; if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); }
/* Saa koerer vi */ if(function_exists("move_uploaded_file")) { move_uploaded_file($fra, $til);
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
/* Check PHP-version */ list($major, $minor, $rev) = explode(".", phpversion()); if($major < 4) { die("Jeg kan kun arbejde med PHP 4.0.0 eller derover"); }
/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */ if($minor < 1) { $_FILES = $HTTP_POST_FILES; $_POST = $HTTP_POST_VARS; $_SERVER = $HTTP_SERVER_VARS; }
/* Accepterer vi filens stoerrelse? */ $fil_stoerrelse = filesize($fra)/1024; if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); }
/* Saa koerer vi */ resize($fra, $til, 100,100); } else {
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
/* Check PHP-version */ list($major, $minor, $rev) = explode(".", phpversion()); if($major < 4) { die("Jeg kan kun arbejde med PHP 4.0.0 eller derover"); }
/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */ if($minor < 1) { $_FILES = $HTTP_POST_FILES; $_POST = $HTTP_POST_VARS; $_SERVER = $HTTP_SERVER_VARS; }
/* Accepterer vi filens stoerrelse? */ $fil_stoerrelse = filesize($fra)/1024; if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); }
/* Saa koerer vi */ if(function_exists("move_uploaded_file")) { move_uploaded_file($fra, $til, 100,100);
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
/* Check PHP-version */ list($major, $minor, $rev) = explode(".", phpversion()); if($major < 4) { die("Jeg kan kun arbejde med PHP 4.0.0 eller derover"); }
/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */ if($minor < 1) { $_FILES = $HTTP_POST_FILES; $_POST = $HTTP_POST_VARS; $_SERVER = $HTTP_SERVER_VARS; }
/* Accepterer vi filens stoerrelse? */ $fil_stoerrelse = filesize($fra)/1024; if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); }
/* Saa koerer vi */ if(function_exists("move_uploaded_file")) { move_uploaded_file($fra, $til); resize($til, $til, 100, 100);
coderdk, resize() kan erstatte move_uploaded_file() Ingen grund til at flytte filen, og så resize bagefter! Du kan jo bare resize den temporære fil og gemme den hvor du ønsker den resizede fil.
jakobdo, På nogle serveropsætninger kan du ikke gøre noget ved den uploadede fil, før du har flyttet den til et andet sted (open_basedir er det vist)... Så du er nødt til at move_uploaded_file og derefter resize - Det er i hvert tilfælde hvad jeg har fundet ud af :)
jakobdo, Du har ret, det kan man også i de fleste tilfælde - Men hvis der er sat en open_basedir så kommer den og brokker sig - Du kan ikke engang bruge copy() du skal bruge move_uploaded_file :)
Dette virker!!!!! Var lidt ude i den dejlige sol og se noget mindre fornøjeligt fodbold!!!!
Jakobdo sender du ikke et velfortjent svar.... Af en eller anden mærkelig grund virker det bedre når move_uploaded_file ikke var med.... som i begge snakkede om!
/* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
/* Check PHP-version */ list($major, $minor, $rev) = explode(".", phpversion()); if($major < 4) { die("Jeg kan kun arbejde med PHP 4.0.0 eller derover"); }
/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */ if($minor < 1) { $_FILES = $HTTP_POST_FILES; $_POST = $HTTP_POST_VARS; $_SERVER = $HTTP_SERVER_VARS; }
/* Accepterer vi filens stoerrelse? */ $fil_stoerrelse = filesize($fra)/1024; if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); }
/* Saa koerer vi */
if(function_exists("move_uploaded_file")) {
resize($fra, $til, 100,100); echo "Billedet er opdateret<br>";
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.