- <?php
- //SETTINGS
- $codelenght = 40;
- while(strlen($billedeid) < $codelenght) {
- $part = rand(1,3);
- if($part==1){$a=48;$b=57;}
- if($part==2){$a=65;$b=90;}
- if($part==3){$a=97;$b=122;}
- $billedeid .= chr(rand($a,$b));
- }
- $filerand = "".$billedeid."_";
- $uploadDir = "fotoalbumsbilleder/".$filerand."_"; //Bibliotek, hvor filer uploades til - husk chmod 777
- $allowedFileTypes = array('jpg','gif','png','PNG'); //Hvilke filer vil vi acceptere bliver uploadet?
- //THUMBS SETTINGS
- $thumbDir = 'fotoalbumsbilleder/'; //Bibliotek, hvor thumbs gemmes - husk chmod 777
- $thumbPrefix = "".$filerand."_nyt_"; //Hvad skal tilføjes til originalt filnavn?
- $thumbHeight = 120; //Thumb højde
- $thumbWidth = 120; //Thumb bredde
- $thumbQuality = 85; //Kvalitet af thumb, kan være fra 0 - dårligt til 100 - bedst
-
- //Funktioner som bruges:
- function getExtension($filename){
- return strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) );
- }
-
- function resize( $filename, $newfilename, $maxw, $maxh, $quality=85 )
- {
- $extension = getExtension($filename);
- switch($extension)
- {
- case 'jpeg':
- case 'jpe':
- case 'jpg':
- $srcim = imagecreatefromjpeg( $filename );
- break;
- case 'gif':
- $srcim = imagecreatefromgif( $filename );
- break;
- case 'png':
- case 'PNG':
- $srcim = imagecreatefrompng( $filename );
- break;
- default:
- return false;
- }
- $ow = imagesx( $srcim );
- $oh = imagesy( $srcim );
- $wscale = $maxw / $ow;
- $hscale = $maxh / $oh;
- $scale = min( $hscale, $wscale );
- $nw = round( $ow * $scale, 0 );
- $nh = round( $oh * $scale, 0 );
- $dstim = imagecreatetruecolor( $nw, $nh );
- imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
- switch($extension)
- {
- case 'jpeg':
- case 'jpe':
- case 'jpg':
- imagejpeg( $dstim, $newfilename, $quality );
- break;
- case 'gif':
- imagegif( $dstim, $newfilename );
- break;
- case 'png':
- case 'PNG':
- $png_q = floor( abs( $quality / 10 - 9.9 ) );
- imagepng( $dstim, $newfilename, $png_q );
- break;
- default:
- return false;
- }
- imagedestroy( $dstim );
- imagedestroy( $srcim );
- return file_exists($newfilename);
- }
-
- //Er der trykket på Upload file knappen?
- if(isset($_POST['myUpload']))
- {
- //Har vi en fil?
- if(is_uploaded_file($_FILES['myFile']['tmp_name']))
- {
- //Filendelse
- $extension = getExtension($_FILES['myFile']['name']);
-
- //Er filen en af de filer vi gerne vil have?
- if(in_array($extension,$allowedFileTypes))
- {
- //Vi flytter filen fra tmp til vores UPLOADDIR
- if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . basename($_FILES['myFile']['name'])))
- {
- if(resize($uploadDir . basename($_FILES['myFile']['name']), $thumbDir . $thumbPrefix . basename($_FILES['myFile']['name']), $thumbWidth, $thumbHeight, $thumbQuality)){
-
- $ip = htmlspecialchars($_SERVER["REMOTE_ADDR"]);
- $dato = date("d/m/Y H:i:s");
- $file_upload_query="INSERT into tp_fotoalbums (`brugernavn`,`file_name`,`file_size`,`file_type`,`dato`,`ipa`,`bigname`) VALUES('".$_SESSION['brugernavn']."','$thumbPrefix".$_FILES['myFile']['name']."','".$file_size."','".$file_type."','".$dato."','".$ip."','".$billedeid."_".$randto."_".$_FILES['myFile']['name']."'); ";
- mysql_query($file_upload_query);
-
- echo '<h3 style="color:green;">File ('.basename($_FILES['myFile']['name']).') uploaded and resized succesfully</h3>';
- }else{
- echo '<h3 style="color:red;">File ('.basename($_FILES['myFile']['name']).') uploaded succesfully, but resize failed</h3>';
- }
- }
- else
- {
- echo '<h3 style="color:red;">Error - unable to upload file: '.basename($_FILES['myFile']['name']).'</h3>';
- }
- }
- else
- {
- echo '<h3 style="color:red;">Wrong filetype, allowed filetypes are: ('.implode(',',$allowedFileTypes).')</h3>';
- }
- }
- else
- {
- echo '<h3 style="color:red;">No file selected<h3>';
- }
- }
-
- //Vores form
- echo '<form action="" method="post" enctype="multipart/form-data">';
- echo 'File ('.implode(',',$allowedFileTypes).'): <input type="file" name="myFile" multiple/><br />';
- echo '<input type="submit" name="myUpload" value="Upload file">';
- echo '</form>';
-
- ?>
Ovenstående script, skal kunne følgende:
1: Vælge op til 10 billeder. (max 2 MB pr. images.)
2: De skal ligges dobbelt ind, en som mini med scale. som nu. Og som normal, som skal vises i popup i galleri.
3: Alle store billeder skal have et watermark på. Altså dem i original størrelse.
4: Max size skal på, med 2 MB.
5: Ingen uploads accepteret, hvis ikke den kan gør mini billedet mindre. Så skal den blot udmelde fejl. Og ikke bare uploade originalen. Begge skal være succes først.
Alle skal gemmes i SQL og i mappen. Med billedeid som gør de ikke hedder det samme alle dem som ligges op.
Pris?.
Du må gerne lege via TeamViewer, så undgår jeg at sende mit site-script.
Du skal helst kunne nu her, ellers får jeg først tid i morgen.
Indlæg senest redigeret d. 27.09.2013 14:07 af Bruger #17554