Upload: Lav random navn til billede
Hejsa!Jeg har dette upload, hvor jeg gerne vil have lavet filnavnet om til et eller andet randomnavn, således at der ikke vil være 2 ens filer i databasen.
Her kommer scriptet:
if($_GET['s'] == "upload"){
if($_SESSION[brugernavn] != ""){
//SETTINGS
$uploadDir = 'galleri/upload/'; //Bibliotek, hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png'); //Hvilke filer vil vi acceptere bliver uploadet?
$sql = mysql_query("SELECT uploadSize FROM community WHERE brugernavn='$_SESSION[brugernavn]'") or die("Fejl: " . mysql_error());
$size = mysql_fetch_assoc($sql);
$allowedFileSize = $size[uploadSize];
//THUMBS SETTINGS
$thumbDir = 'galleri/upload/thumbs/'; //Bibliotek, hvor thumbs gemmes - husk chmod 777
$thumbPrefix = 'thumb_'; //Hvad skal tilføjes til originalt filnavn?
$thumbHeight = 105; //Thumb højde
$thumbWidth = 105; //Thumb bredde
$thumbQuality = 100; //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':
$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':
$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))
{
//Er filen lille nok?
$fileSize = $_FILES['myFile']['size'] / 1000;
if($fileSize <= $allowedFileSize)
{
//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)){
echo '<h3 style="color:green;">File ('.basename($_FILES['myFile']['name']).') uploaded and resized succesfully</h3>';
$uri = $_FILES['myFile']['name'];
$uri=str_replace("æ","",$uri);
$uri=str_replace("ø","",$uri);
$uri=str_replace("å","",$uri);
$uri=str_replace("Æ","",$uri);
$uri=str_replace("Ø","",$uri);
$uri=str_replace("Å","",$uri);
$beskrivelse = mysql_real_escape_string($_POST["beskrivelse"]);
mysql_query("INSERT INTO galleri (brugernavn, kategori, uri, beskrivelse, dato, ip) VALUES ('$_SESSION[brugernavn]','$_POST[kategori]','$uri','$beskrivelse','$date','$ip')") or die("Fejl: " . mysql_error());
}else{
echo '<h3 style="color:red;">File ('.basename($_FILES['myFile']['name']).') uploaded succesfully, but resize failed</h3>';
}
}
else
{
echo "<script>window.alert('Fejl - Kunne ikke uploade filen: ".basename($_FILES['myFile']['name'])."'); document.location.href='?p=galleri&site=upload';</script>";
}
}
else
{
echo "<script>window.alert('Fejl - filen er for stor! Max størrelse: ".$allowedFileSize."'); document.location.href='?p=galleri&site=upload';</script>";
}
}
else
{
echo "<script>window.alert('Forkert filtype, tilladte filtyper er: jpg, png og gif'); document.location.href='?p=galleri&site=upload';</script>";
}
}
else
{
echo "<script>window.alert('Ingen fil valgt'); document.location.href='?p=galleri&site=upload';</script>";
}
}
}else{
echo "<script>window.alert('Fyfyfyfyfyfyfy ;)))'); document.location.href='?p=galleri&site=upload';</script>";
}}
?>
