Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql php file upload + resize + thumb

php file upload + resize + thumb


 

php file upload + resize + thumb

Okay  

Jeg er igang med at lave en php fileuploader til billeder, der resizer et billede og
samtidig laver thumbs.
Scriptet virker og det hele, men der er nogle småting jeg gerne vil have ændret, men som
jeg ikke selv kan finde ud af.
Jeg kan ikke finde ud af så meget. 

Jeg ville gerne have at alle $thumbPrefix var Sufixer i stedet for prefixer. altså i
stedet for "sml_example.jpg" skulle resultatet af en upload være "example_sml.jpg,
example_lge.jpg og example.jpg" .

Jeg ville gerne have at filnavnet på alle uploadede foruden Prefix/suffix filer var dato:

noget i stil med "date("YmdHis")" 
således at resultatet af en upload af f.eks filen "billede.jpg" bliver:

20110825145002.jpg
20110825145002_sml.jpg
20110825145002_lge.jpg


endvidere er der i koden angivet en række størrelser på:
$thumbHeight1    = 0;     
$thumbWidth1      = 0;    
$thumbHeight2    = 200;      
$thumbWidth2      = 200;    
$thumbHeight3    =  500;      
$thumbWidth3      = 500;      

Som det fungerer nu, resizer scriptet billederne til disse størrelser men tager ikke højde
for om billederne bliver pixeleret. 
Scriptet resizer altså fx thumb3 til 500px i bredden uanset om det billedet der resizes og
kopieres måske kun er 200px bredt. Jeg ved ikke hvordan det kan løses? 


Hvis nogen kan hjælpe med noget af det, ville jeg være meget taknemmelig.  

sebastian
 




[code]
<?php

//SETTINGS
$uploadDir        'content/index/'//Bibliotek, hvor filer uploades til - husk chmod
777
$allowedFileTypes 
= array('jpg','gif','png'); //Hvilke filer vil vi acceptere bliver
uploadet?


//THUMBS SETTINGS
$thumbDir        'content/index/'//Bibliotek, hvor thumbs gemmes - husk chmod 777
$thumbPrefix1    '';  //Hvad skal tilføjes til originalt filnavn?
$thumbPrefix2    'sml_';  //Hvad skal tilføjes til originalt filnavn?
$thumbPrefix3    'lge_';  //Hvad skal tilføjes til originalt filnavn?
$thumbHeight1    0;      //Thumb højde
$thumbWidth1      0;      //Thumb bredde
$thumbHeight2    200;      //Thumb højde
$thumbWidth2      200;      //Thumb bredde
$thumbHeight3    =  500;      //Thumb højde
$thumbWidth3      500;      //Thumb bredde


//Funktioner som bruges:
function getExtension($filename){
    return 
strtolowerpathinfo$filenamePATHINFO_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':
      
$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);
  
$nh round$oh $scale);
  
$dstim imagecreatetruecolor$nw$nh );
  
imagecopyresampled$dstim$srcim0000$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':
      
$png_q floorabs$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?        date("YmdHis")
    
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'])))
      {
                
$resize1 resize($uploadDir basename($_FILES['myFile']['name']),
$thumbDir $thumbPrefix1 basename($_FILES['myFile']['name']) , $thumbWidth1,
$thumbHeight1);
                
$resize2 resize($uploadDir basename($_FILES['myFile']['name']),
$thumbDir $thumbPrefix2 basename($_FILES['myFile']['name']), $thumbWidth2,
$thumbHeight2);
                
$resize3 resize($uploadDir basename($_FILES['myFile']['name']),
$thumbDir $thumbPrefix3 basename($_FILES['myFile']['name']), $thumbWidth3,
$thumbHeight3);
                
                
                if(
$resize1 && $resize2 && $resize3){
                    echo 
'<h3 style="color:red;">File
('
.basename($_FILES['myFile']['name']).') uploaded and resized succesfully</h3>';
                    echo 
'<h5>Orgininal</h5><img src="'.$thumbDir $thumbPrefix1 .
basename($_FILES['myFile']['name']).'" alt="thumb1" /><br />';
                    echo 
'<h5>sml_</h5><img src="'.$thumbDir $thumbPrefix2 .
basename($_FILES['myFile']['name']).'" alt="thumb2" /><br />';
                    echo 
'<h5>lge_</h5><img src="'.$thumbDir $thumbPrefix3 .
basename($_FILES['myFile']['name']).'" alt="thumb3" /><br />';
                }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="file-upload.php" method="post" enctype="multipart/form-data">';
echo 
'File ('.implode(',',$allowedFileTypes).'): <input type="file" name="myFile"><br
/>'
;
echo 
'<input type="submit" name="myUpload" value="Upload file">';
echo 
'</form>';

?>

[/code]



Dato : 25.08.2011, 14:00

Visninger : 1502

Points : 0




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund