Det jeg gerne vil med "mit" upload script, er at når en person uploader et billede, og dette billede har en width på over 900 px og en height på over 700 px, så skal den "resize" billede så det bliver til max disse breder, eller højder. :)
Sagtens. Du kan bruge denne, og så ændre den til dit behov: // get the temporary name (e.g. /tmp/php34634.tmp) $source = $objekt['tmp_name']; $origName = $objekt['name'];
// Generate a new name for it $newName = "".(microtime(true)).'.jpeg';
// print something to the user echo "<br />Behandler filen $origName...\n"; // flush();
// Generate pictures for ($i = 0; $i < 5; $i++){ switch($i){ case 0: $src_img = @imagecreatefromjpeg($source); break; case 1: $src_img = @imagecreatefrompng($source); break; case 2: $src_img = @imagecreatefromwbmp($source); break; case 3: $src_img = @imagecreatefromgif($source); break; case 4: $src_img = @imagecreatefromxpm($source); break; } if (!$src_img){ $error = true; continue; } else { break; } }
if (!$src_img){ echo "<br />Kunne ikke behandle filen $origName\n"; flush(); continue; } $prefix = "../../../"; // Where to save the file? $medium_target = 'user/medium/medium_' . $newName; $origw=imagesx($src_img); $origh=imagesy($src_img);
Nu bliver der bare ved med at stå "Begandler billedet"..
Den bliver aldrig færdig med det? :P
Jeg ved ikke om det er fordi at jeg ikke har lavet sådan at hvis billedet er for stort, så skal den rezise det, og hvis ikke det er, skal den tilføje det normalt..
For lige nu står der når man tilføjer et billede der er for stort, så står der at den behandler billedet, og lige nedenunder står der at billedet er blevet tilføjet? :P
Hvordan laver jeg så den tjekker om billedet er for stort, inden den begynder at rezise det?
>minimadsens: Husk lige at bruge den rigtige profil.. Du svarer med én og har oprettet spørgsmålet med en anden.. Det er altså ikke helt "lovligt" med 2 profiler på Eksperten..! Mvh. enya
Ej man? :O Det er fordi jeg har hjulpet gennem min lillebrors profil? og så var jeg logget ind på den.. og så er jeg bare begyndt at bruge den i al admindelighed.. :O
Men skal nok lade være hvis man kan det. :S Jeg så ikke lige det store problem i det. :/
// get the temporary name (e.g. /tmp/php34634.tmp) $source = $_FILES['myFile']['tmp_name']; $origName = $_FILES['myFile']['name'];
// Generate a new name for it $newName = "".(microtime(true)).'.jpeg';
// print something to the user echo "<br />Behandler filen $origName...\n"; // flush();
// Generate pictures for ($i = 0; $i < 5; $i++){ switch($i){ case 0: $src_img = @imagecreatefromjpeg($source); break; case 1: $src_img = @imagecreatefrompng($source); break; case 2: $src_img = @imagecreatefromwbmp($source); break; case 3: $src_img = @imagecreatefromgif($source); break; case 4: $src_img = @imagecreatefromxpm($source); break; } if (!$src_img){ $error = true; continue; } else { break; } }
if (!$src_img){ echo "<br />Kunne ikke behandle filen $origName\n"; flush(); continue; } $prefix = "../../../"; // Where to save the file? $medium_target = 'uploade/profilbilleder/medium_' . $newName; $origw=imagesx($src_img); $origh=imagesy($src_img);
Du har blandet det godt og grundigt sammen. Dette er ikke testet:
<?php //Er der trykket på Upload file knappen? if(isset($_POST['myUpload'])){
// get the temporary name (e.g. /tmp/php34634.tmp) $source = $_FILES['myFile']['tmp_name']; $origName = $_FILES['myFile']['name']; $userfile_size = $_FILES['myFile']['size'];
if ($userfile_size > 500000) { die("Billedet er for stort: ".$userfile_size); } // Generate a new name for it $newName = "".(microtime(true)).'.jpeg';
// print something to the user echo "<br />Behandler filen $origName...\n"; // flush();
// Generate pictures for ($i = 0; $i < 5; $i++){ switch($i){ case 0: $src_img = @imagecreatefromjpeg($source); break; case 1: $src_img = @imagecreatefrompng($source); break; case 2: $src_img = @imagecreatefromwbmp($source); break; case 3: $src_img = @imagecreatefromgif($source); break; case 4: $src_img = @imagecreatefromxpm($source); break; } }
if (!$src_img){ die("<br />Kunne ikke behandle filen ".$origName); } // Where to save the file? $medium_target = 'uploade/profilbilleder/medium_' . $newName; $origw=imagesx($src_img); $origh=imagesy($src_img);
<?php //Er der trykket på Upload file knappen? if(isset($_POST['myUpload'])){
// get the temporary name (e.g. /tmp/php34634.tmp) $source = $_FILES['myFile']['tmp_name']; $origName = $_FILES['myFile']['name']; $userfile_size = $_FILES['myFile']['size'];
if ($userfile_size > 500000) { die("Billedet er for stort: ".$userfile_size); } // Generate a new name for it $newName = "".(microtime(true)).'.jpeg';
// print something to the user echo "<br />Behandler filen $origName...\n"; // flush();
// Generate pictures for ($i = 0; $i < 5; $i++){ switch($i){ case 0: $src_img = @imagecreatefromjpeg($source); break; case 1: $src_img = @imagecreatefrompng($source); break; case 2: $src_img = @imagecreatefromwbmp($source); break; case 3: $src_img = @imagecreatefromgif($source); break; case 4: $src_img = @imagecreatefromxpm($source); break; } if (!$src_img){ $error = true; continue; } else { break; } }
if (!$src_img){ die("<br />Kunne ikke behandle filen ".$origName); } // Where to save the file? $medium_target = 'uploade/profilbilleder/medium_' . $newName; $origw=imagesx($src_img); $origh=imagesy($src_img);
Jamen sætter du det jeg postede ind i en fil for sig, f.eks. upload.php og ændrer: echo "<form action=upload.php method=post enctype=multipart/form-data>";
Så virker det altså. Hvordan du så lige for det sat ind i din eget kode, det må du altså selv rode lidt med. Det er meningen du skal lære og ikke bare have en færdig løsning.
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.