Tha_Zaynt Skrevet 12. august 2004 Del Skrevet 12. august 2004 Jeg holder på å lage et bildeupload-script, som jeg skal bruke til å laste opp bilder til news-scriptet mitt. I første omgang vil jeg bare få scriptet til å laste opp et bilde , resize det og legge det i ei bestemt mappe. Jeg har funnet et godt utgangspunkt, men får det ikke til å virke... form <form action="upload.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> Velg bilde: <input type="file" name="uploaded"><br/> <br> <input type="submit" value="Last opp"> </form> upload.php <?php //Don't Forget to change this to your upload folder! $upload_folder = "C:\AppServ\www\upload"; if (!isset($_FILES['uploaded']['tmp_name'])) { //send user back to the form header("Location: news.php"); exit(); } if (is_uploaded_file($_FILES['uploaded']['tmp_name'])) { //Get the Filename and the File Type $fileName = $_FILES['uploaded']['name']; $fileType = $_FILES['uploaded']['type']; //Check if the file exists if (file_exists($fileName)) { echo "Duplicate File Found."; exit(); } else { //File is unique //Now check the File Type //Acceptable File Types: jpg/jpeg/pjpeg, gif and png if (($fileType == 'image/jpg') || ($fileType == 'image/pjpeg') || ($fileType == 'image/jpeg') || ($fileType == 'image/gif') || ($fileType == 'image/png')) { //Move the uploaded file to the current directory if (move_uploaded_file($_FILES['uploaded']['tmp_name'],$upload_folder.''.$fileName)) { //File Uploaded! echo "File: ".$fileName." has been uploaded!"; exit(); } else { echo "Unable to upload file: ".$fileName; exit(); } } else { echo $fileType. ": Unknown File Type!"; include 'form.php'; exit(); } } } else { echo "No File Selected or File too Large!"; exit(); } ?> Lenke til kommentar
The Red Devil Skrevet 12. august 2004 Del Skrevet 12. august 2004 Prøv med å skifte til denne: <form enctype="multipart/form-data" action="upload.php" method="post"> Lenke til kommentar
Tha_Zaynt Skrevet 12. august 2004 Forfatter Del Skrevet 12. august 2004 Det så ut til å funke fint når jeg satte inn form enctype="multipart/form-data", jeg fikk meldingen file has been uploaded!. Men når jeg så uploadmappen, hadde ingenting kommet fram... kan det være noe galt her? //Move the uploaded file to the current directory if (move_uploaded_file($_FILES['uploaded']['tmp_name'],$upload_folder.''.$fileName)) { //File Uploaded! echo "File: ".$fileName." has been uploaded!"; exit(); } Lenke til kommentar
eXZire Skrevet 12. august 2004 Del Skrevet 12. august 2004 Skal $upload_folder være C:\AppServ\www\upload ? Jeg ville satt den til en bane relativ til scriptet jeg, er på en måte det eneste jeg ser som kan se feil ut her (chmoda mappen? ) Lenke til kommentar
Tha_Zaynt Skrevet 12. august 2004 Forfatter Del Skrevet 12. august 2004 (endret) mappen ligger i den banen ja..kjører egen server med windows platform og da er det vel ikke nødvendig å chmodde mappen heller.. EDIT: Fant ut at bilde blir uploadet, men det havner i banen: c:\appserv\www i stedet for c:\appserv\www\upload. måtte av en eller annen grunn endre til $upload_folder = c:\appserv\www\upload\upload for at det skulle funke... Endret 13. august 2004 av Tha_Zaynt Lenke til kommentar
Tha_Zaynt Skrevet 13. august 2004 Forfatter Del Skrevet 13. august 2004 (endret) Nå funker selve upload-scriptet. Neste oppgave er å legge til en funksjon som resizer bildene jeg laster opp og gjør de mindre (i kb) . Noen som har forslag til hvor og hvordan og hvor jeg kan implementere dette? upload.php <?php //Don't Forget to change this to your upload folder! $uploadfolder = "C:/Appserv/www/upload/"; if (!isset($_FILES['uploaded']['tmp_name'])) { //send user back to the form header("Location: news.php"); exit(); } if (is_uploaded_file($_FILES['uploaded']['tmp_name'])) { //Get the Filename and the File Type $fileName = $_FILES['uploaded']['name']; $fileType = $_FILES['uploaded']['type']; //Check if the file exists if (file_exists($fileName)) { echo "Fant en kopi av filen"; exit(); } else { //File is unique //Now check the File Type //Acceptable File Types: jpg/jpeg/pjpeg, gif and png if (($fileType == 'image/jpg') || ($fileType == 'image/pjpeg') || ($fileType == 'image/jpeg') || ($fileType == 'image/gif') || ($fileType == 'image/png')) { //Move the uploaded file to the current directory if (move_uploaded_file($_FILES['uploaded']['tmp_name'],$uploadfolder.''.$fileName)) { //File Uploaded! echo "Filen: ".$fileName." ble lastet opp!"; exit(); } else { echo "Opplastingen mislyktes for denne filen: ".$fileName; exit(); } } else { echo $fileType. ": ukjent filtype!"; exit(); } } } else { echo "Ingen fil valgt eller så er filen for stor"; exit(); } ?> Endret 13. august 2004 av Tha_Zaynt Lenke til kommentar
Tha_Zaynt Skrevet 13. august 2004 Forfatter Del Skrevet 13. august 2004 Prøvde å legge til funksjonen| Unglar bruker for å lage thumbnails av bildene sine, men fikk bare en haug med feilmeldinger.. Warning: Division by zero in c:\appserv\www\news\upload.php on line 22 Warning: imagecreatefromjpeg(Array): failed to open stream: No such file or directory in c:\appserv\www\news\upload.php on line 35 Warning: imagecreatetruecolor(): Invalid image dimensions in c:\appserv\www\news\upload.php on line 45 Warning: imagecopyresampled(): supplied argument is not a valid Image resource in c:\appserv\www\news\upload.php on line 46 Warning: imagepng(): supplied argument is not a valid Image resource in c:\appserv\www\news\upload.php on line 47 upload.php <?php //Don't Forget to change this to your upload folder! $uploadfolder = "C:/Appserv/www/upload/"; if (!isset($_FILES['uploaded']['tmp_name'])) { //send user back to the form header("Location: news.php"); exit(); } if (is_uploaded_file($_FILES['uploaded']['tmp_name'])) { $fil = $_FILES['uploaded']; //Get the Filename and the File Type $fileName = $_FILES['uploaded']['name']; $fileType = $_FILES['uploaded']['type']; $sjekk = explode(".",$fileName); $size = getimagesize($file); // Finner dimensjonene på bildet $faktor = $hoyde / $size[1]; $bredde = round($size[0] * $faktor); if($bredde > 150) { $bredde = 150; $xfaktor = $bredde / $size[0]; $hoyde = $xfaktor * $size[1]; } //Sjekker for gyldige filtyper switch (strtolower($sjekk[1])) { case "jpg": $fileName = imagecreatefromjpeg("$fil"); break; case "gif": $fileName = imagecreatefromgif("$fil"); break; case "png": $fileName = imagecreatefrompng("$fil"); break; } //Lager grunnbilde for thumbnail $nytt = imagecreatetruecolor($bredde, $hoyde); imagecopyresampled ($nytt,$fileName, 0, 0, 0, 0, $bredde, $hoyde, $size[0], $size[1]); imagepng($nytt,"$litenfil"); chmod("$litenfil", 0755); // octal; correct value of mode return "Laget thumbnail av $fileName"; //Check if the file exists if (file_exists($fileName)) { echo "Fant en kopi av filen"; exit(); } else { //File is unique //Now check the File Type //Acceptable File Types: jpg/jpeg/pjpeg, gif and png if (($fileType == 'image/jpg') || ($fileType == 'image/pjpeg') || ($fileType == 'image/jpeg') || ($fileType == 'image/gif') || ($fileType == 'image/png')) { //Move the uploaded file to the current directory if (move_uploaded_file($_FILES['uploaded']['tmp_name'],$uploadfolder.''.$fileName)) { //File Uploaded! echo "Filen: ".$fileName." ble lastet opp!"; exit(); } else { echo "Opplastingen mislyktes for denne filen: ".$fileName; exit(); } } else { echo $fileType. ": ukjent filtype!"; exit(); } } } else { echo "Ingen fil valgt eller så er filen for stor"; exit(); } ?> Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå