23. juli 2004 - 22:06Der er
6 kommentarer og 1 løsning
Upload og resize af billeder i php
Vil lave en funktion der uploader et billede - og samtidig automatisk genererer en thumbnail, og samtidig skriver sig ind i min mysql database. Hvordan kan det gøres. Nogen der har noget færdig kode der bare skal rettes til?
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
<?php //Denne side får data fra opret_film_form.php //Tjekker om brugeren har trykket på knappen if(isset($_POST['make_movie'])) { //Her sættes variabler $head_cat = $_POST['head_category']; $titel = $_POST['title']; $lyd = $_POST['sound']; $cat = $_POST['category']; $length = $_POST['length']; $aar = $_POST['year']; $lang = $_POST['lang']; $sub = $_POST['sub']; $info = $_POST['about']; $cover = $_FILES['cover']['name']; $date = time(); //Her sættes tilladte filtyper ved upload af cover $allow_files = array("jpg", "gif", "jpeg"); //Tjek om felter er tomme if(!empty($_POST['title']) || !empty($_POST['length'])) { //Tjek om minutter indtastes i tal og ikke bogstaver if(ereg("([0-9])", $_POST['length'])) { //Tjekkes om $_FILES['cover']['name'] Indeholder noget hvis ja skal der ligges billednavn i database if(!empty($_FILES['cover']['name'])) { //Her hentes hvilken extension eller filtype som filen er $path = pathinfo($_FILES['cover']['name']); $ext = $path['extension']; //Her tjekkes om der filtypen er tilladt(filtyper sættes i længere oppe) if(in_array($ext, $allow_files)) { //Her indsættes der i databasen mysql_query("INSERT INTO dvd (title, sound_id, head_cat_id, cat_id, length, aar, lang_id, sub_id, info, pic, date) VALUES('$titel','$lyd','$head_cat','$cat','$length','$aar','$lang','$sub','$info','$cover','$date')") or die(mysql_error()); //Sætter id til det sidste indsatte id i databasen $id = mysql_insert_id(); $fra = $_FILES['cover']['tmp_name']; $til = "".$id."_".$_FILES['cover']['name'].""; //resize billede header("content: image/jpeg"); $pic = $_FILES['cover']['tmp_name']; $src_img = imagecreatefromjpeg($pic); $size = getimagesize($pic); $src_width = $size[0]; $src_height = $size[1]; $width = $size[0] / 2; $height = $size[1] / 2; $dest_imag = imagecreatetruecolor($width, $height); imagecopyresampled($dest_imag, $src_img, 0, 0, 0, 0, $width, $height, $src_width, $src_height); imagejpeg($dest_imag, "covers/thumb_$til"); //Flyt den uploadede fil move_uploaded_file($fra, "covers/".$til); //opdatere billedesti i databasen mysql_query("UPDATE dvd SET pic = '$til', pic_thumb ='thumb_$til' WHERE id = '$id'") or die(mysql_error()); echo $id; } else { //Udskriv fejl echo "<div style='color:red;'>Filtype ikke tilladt</div>"; } } else { //hvis $_FILES['cover']['name'] ikke indeholder noget skal billednavn i databasen sættes til NULL i databasen mysql_query("INSERT INTO film (titel, genre, laengde, sprog, lyd_1, lyd_2, lyd_3, sub_1, sub_2, sub_3, aar, cover_sti, handling) VALUES('$titel','$genre','$laengde','$sprog','$lyd_1','$lyd_2','$lyd_3','$sub_1','$sub_2','$sub_3','$aar','NULL','$handling')") or die(mysql_error()); } } else { //Udskriv fejl echo "<div style='color:red;'>Du har ikke indtastet minutter i et rigtigt format eks 123</div>"; } } else { //Udskriv fejl echo "<div style='color:red;'>Du mangler at udfylde et felt. Gå <a href='java script:history.go(-1)'>tilbage</a> og udfyld det der mangler</div>"; } }else { //Udskriv fejl echo "<div style='color:red;'>Du kommer ikke fra den rigtige side</div>"; } //Slut script ?>
<form action="?link=make_movie.php" enctype="multipart/form-data" method="POST"> <table width="100%" border="0"> <tr> <td align="center">Opret film.<br>Her kan du oprette en film i systemet.<br>Udfyld de forskellige felter og tryk på opret</td> </tr>
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.