bazzo Skrevet 3. juni 2004 Del Skrevet 3. juni 2004 Har stresset i flere dager nå med å finne et script som automatisk resizer bilder som blir lastet opp av en form i CuteNews. Er det mulig å få alle bildene som blir lastet opp til en mappe, til å automatisk resize seg til f.eks width: 500px hvis bildet er større en 500px, og at bildet sklir rett inn i mappen hvis det er under 500px. Håper noen kan hjelpe meg i gang, er nybegynner Her et image scriptet til CuteNews <?PHP if($member_db[1] > 3 or ($member_db[1] != 1 and $action == "doimagedelete")){ msg("error", "Tillgang nektet", "Du har ikke tillgang til å laste opp bilder"); } $allowed_extensions = array("gif", "jpg", "png", "bmp", "jpe", "jpeg"); // ******************************************************************************** // Show Images List // ******************************************************************************** if($action != "doimagedelete") { if($action == "quick") { echo"<html> <head> <title>Legg til bilde</title> <style type=\"text/css\"> <!-- select, option, textarea, input { BORDER: #808080 1px solid; COLOR: #000000; FONT-SIZE: 11px; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #ffffff } BODY, TD {text-decoration: none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt;} a:active,a:visited,a:link {font-size : 10px; color: #808080; font-family: verdana; text-decoration: none;} a:hover {font-size : 10px; color: #000000; font-family: verdana; text-decoration: none; } .panel { border: 1px dotted silver; background-color: #F7F6F4;} --> </style> </head> <body bgcolor=#FFFFFF> <script language=\"javascript\" type=\"text/javascript\"> <!-- function insertimage(text) { text = ' ' + text + ' '; opener.document.forms['addnews'].$area.focus(); opener.document.forms['addnews'].$area.value += text; opener.document.forms['addnews'].$area.focus(); window.close(); } //--> </script>"; }else{ echoheader("images","Verktøy for bilder"); } if($subaction == "upload") { if(!$image){ $image = $HTTP_POST_FILES['image']['tmp_name']; } if(!$image_name){ $image_name = $HTTP_POST_FILES['image']['name']; } $image_name = str_replace(" ", "_", $image_name); $img_name_arr = explode(".",$image_name); $type = end($img_name_arr); if($image_name == ""){ $img_result = "<br><font color=red>Ingen filer er spesifisert for opplastning!!!</font>"; } elseif(file_exists($config_path_image_upload."/".$image_name)){ $img_result = "<br><font color=red>bildet er allerede lastet opp!!!</font>";} elseif( !(in_array($type, $allowed_extensions) or in_array(strtolower($type), $allowed_extensions)) ){ $img_result = "<br><font color=red>Denne typen filer kan ikke lastes opp!!!</font>"; } else { @copy($image, $config_path_image_upload."/".$image_name) or $img_result = "<font color=red>Kan ikke kopiere bilde til server</font><br />sjekk om file_uploads er lovlig i filen php.ini på din server"; if(file_exists($config_path_image_upload."/".$image_name)) { $img_result = "<br><font color=green>Bildet er lastet opp</font>"; }//if file is uploaded succesfully } } echo"<table border=0 cellpading=0 cellspacing=0 width=100%> <FORM action='$PHP_SELF?mod=images' METHOD='POST' ENCTYPE=\"multipart/form-data\"> <input type=hidden name=subaction value=upload> <input type=hidden name=area value='$area'> <input type=hidden name=action value='$action'> <td height=33> <b>Last opp bilde</b> <table border=0 cellpading=0 cellspacing=0 class=\"panel\" cellpadding=8> <tr> <td height=25> <input type=file name=image size=23> <input type=submit value='Last opp'> $img_result</tr> </form> </table> <tr> <td height=11> <img height=20 border=0 src=\"skins/images/blank.gif\" width=1> </tr><tr> <td height=14> <b>Opplastede bilder</b> </tr> <tr> <td height=1> <table width=100% height=100% cellspacing=0 cellpadding=0>"; $img_dir = opendir($config_path_image_upload); $i = 0; while ($file = readdir($img_dir)) { if ($file != ".." and $file != "." and is_file($config_path_image_upload."/".$file)) { $i++; $this_size = filesize($config_path_image_upload."/".$file); $total_size += $this_size; $img_info = getimagesize($config_path_image_upload."/".$file); if( $i%2 != 0 ){ $bg = "bgcolor=#F7F6F4"; } else{ $bg = ""; } if($action == "quick") { $my_area = str_replace("_", " ", $area); echo" <tr $bg><td height=16> <td height=16 width=57%> <a title=\"Legg bilde i til $my_area\" href=\"javascript:insertimage('<img style="border: none;" alt="" src="$config_http_script_dir/data/upimages/$file" />')\">$file</a> <td height=16 align=right> $img_info[0]x$img_info[1] <td height=16 align=right> ". formatsize($this_size) ." </tr>"; } else { echo"<tr $bg><td height=16> <td height=16 width=63% > <a target=_blank href=\"". $config_path_image_upload ."/$file\">$file</a> <td height=16 align=right> $img_info[0]x$img_info[1] <td height=16 align=right> ". formatsize($this_size) ." <td width=70 height=16 align=right> <a href=\"$PHP_SELF?mod=images&action=doimagedelete&image=$file\">[slett]</a> </tr>"; } } } if($i > 0){ echo'<tr heigh=1> <td width=14> <td > <br /><b>Total størrelse</b> <td> <td align=right> <br /><b>'. formatsize($total_size) .'</b> </tr>'; } echo'</table></table>'; if($action != "quick"){ echofooter(); } } // ******************************************************************************** // Delete Image // ******************************************************************************** elseif($action == "doimagedelete") { if(!file_exists($config_path_image_upload."/".$image) or !$image){ msg("error","Feil!!!","Kan ikke slette bilde", "$PHP_SELF?mod=images"); } unlink($config_path_image_upload."/".$image) or msg("error","Feil!!!","Kan ikke slette bilde", "$PHP_SELF?mod=images"); msg("info","Bildet er slettet","Bildet er slettet.", "$PHP_SELF?mod=images"); } ?> Lenke til kommentar
LoS Skrevet 3. juni 2004 Del Skrevet 3. juni 2004 En titt på www.php.net/getimagesize tror jeg skal hjelpe deg litt på vei. Lenke til kommentar
bazzo Skrevet 3. juni 2004 Forfatter Del Skrevet 3. juni 2004 En titt på www.php.net/getimagesize tror jeg skal hjelpe deg litt på vei. hva skal jeg begynne med da, jeg der at det står en masse eksempler på script der. Skal jeg legge inn et hidden field i formen som peker til scriptet....? eller...? Lenke til kommentar
LoS Skrevet 3. juni 2004 Del Skrevet 3. juni 2004 (endret) Med getimagesize så kan du sjekke hvor stort bilde er ikke sant? Derfor kjøre en if-else spørring for å finne ut størrelsene, og deretter bruke imagecopyresized, til å forminske bildene. Har ett script på lager som resizer bilder, men det sjekker ikke om bildene er mindre enn det dem blir resizet til, har ikke giddi å lage Her er koden for å resize bilder: $path = "/mappen/bildene/skal/ligge/i/"; $file_name = $_FILES['userfile']['name']; $fil=$path.$file_name; $target=80; $size = getimagesize("$fil"); if ($size[0] > $size[1]) { $percentage = ($target / $size[0]); } else { $percentage = ($target / $size[1]); } $width = round($size[0] * $percentage); $height = round($size[1] * $percentage); $abc = imagecreatefromjpeg($fil); $thumb=$path."thumb".$file_name; $def = imagecreatetruecolor($width, $height); imagecopyresized($def, $abc, 0, 0, 0, 0, $width, $height, $size[0], $size[1]); imagejpeg($def, $thumb, 100); Dette legger du inn i scriptet som skriver nyhetene. Hehe, begynner å bli farlig lei alle cutenews spørsmål nå Kanskje jeg skulle lagde übernyhetessystem basert på flat files selv edit: orker liksom ikke mate deg med såpass mye forskjellig, så jeg gir deg heller litt du kan se på jeg, som gjør det du (omtrent) vil den skal gjøre edit:2 du ser kanskje at det står userfile inni scriptet? Det er ihvertfall navnet på <input type=file name=userfile />, så ikke du misforstår hele greia. Endret 3. juni 2004 av LoS 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å