Koden skal vælge netop uploaded fil og ikke en tilfældig fil der ligger i mappen - eller...
Jeg vil gerne have denne kode til at vælge det billede i mappen som sidst er uploadet eller også skal koden slette alle filer i mappen før der uploades en ny billedfil. Det er altså OK hvis der altid kun er en enkelt billedfil.Som det er nu vælger koden bare en tilfældig fil i mappen til visning.
Koden er her og problemet kommer i andet afsnit:
<!--**********************************************************************************************'-->
<a name="hvalp1billede"></a>
<?php
//SETTINGS
$uploadDir = 'hvalp1_upload/'; //Bibliotek, hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg'); //Hvilke filer vil vi acceptere bliver uploadet?
//THUMBS SETTINGS
$thumbDir = 'hvalp1_thumbs/'; //Bibliotek, hvor thumbs gemmes - husk chmod 777
$thumbPrefix = 'thumb_'; //Hvad skal tilføjes til originalt filnavn?
$thumbHeight = 200; //Thumb højde
$thumbWidth = 200; //Thumb bredde
$thumbQuality = 85; //Kvalitet af thumb, kan være fra 0 - dårligt til 100 - bedst
//Funktioner som bruges:
function getExtension1($filename){
return strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) );
}
function resize1( $filename, $newfilename, $maxw, $maxh, $quality=85 )
{
$extension = getExtension1($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['myUpload1']))
{
//Har vi en fil?
if(is_uploaded_file($_FILES['myFile1']['tmp_name']))
{
//Filendelse
$extension = getExtension1($_FILES['myFile1']['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['myFile1']['tmp_name'],$uploadDir . basename($_FILES['myFile1']['name'])))
{
if(resize1($uploadDir . basename($_FILES['myFile1']['name']), $thumbDir . $thumbPrefix . basename($_FILES['myFile1']['name']), $thumbWidth, $thumbHeight, $thumbQuality)){
echo '<h5 style="color:green;">Filen ('.basename($_FILES['myFile1']['name']).') er uploaded og resized med succes</h5>';
}else{
echo '<h5 style="color:red;">Filen ('.basename($_FILES['myFile1']['name']).')er uploaded med succes, men resize fejlede</h5>';
}
}
else
{
echo '<h5 style="color:red;">Error - det var ikke muligt at uploade filen: '.basename($_FILES['myFile1']['name']).'</h5>';
}
}
else
{
echo '<h5 style="color:red;">Forkert filtype, tilladte filtype er: ('.implode(',',$allowedFileTypes).')</h5>';
}
}
else
{
echo '<h5 style="color:red;">Ingen fil er valgt<h5>';
}
}
//Vores form
echo '<form action="start.php" target="_self" method="post" enctype="multipart/form-data">';
echo 'File ('.implode(',',$allowedFileTypes).'): <input type="file" name="myFile1"><br />';
echo '<input type="submit" name="myUpload1" value="Upload file">';
echo '</form>';
?>
<!--***********************************************************HER KOMMER PROBLEMET************************************************-->
<?
/* Her findes et tilfældigt billede i mappen */
$filnavne = glob("hvalp1_thumbs/*.jpg");
$tilfaeldig = array_rand($filnavne);
$filnavn=$filnavne[$tilfaeldig];
/* Her findes størrelsen på billedet */
list($width, $height) = getimagesize($filnavn);
/* Her tilføjes html-kode, og billedet og dets størrelse indsættes i koden */
echo "<img src='$filnavn' width='$width' height='$height' alt='Her er en musetekst'>";
/* Her findes en tilfældig fil i mappen */
$filnavne = glob("hvalp1_thumbs/*.php");
$tilfaeldig = array_rand($filnavne);
$filnavn=$filnavne[$tilfaeldig];
/* Her indsættes den tilfældige fil */
?>
<br>
<!--********************************************************************************************'-->
Eksemplet kan downloades her:
http://www.dkk-chihuahua-hvalpe.dk/eksperten/enkeltbillede.zip
Nogen der kan hjælpe :O)
KH Helle