01. juli 2005 - 04:11
Der er
5 kommentarer og
1 løsning
indsættelse af billede i billede under upload
Det lyder lidt kompliceret syntes jeg selv, men findes der en måde hvorpå jeg kan få min upload-formular til at indsætte et lille billede jeg selv vælger i nederste højre hjørne af det billede jeg uploader.
Så den gør det imens den uploader eller lign. (lidt ligesom når den skalerer billedet og laver thumbnail samtidig, det er jo også en form for billederedigering)
Så må der vel også være en mulighed for det? Ligesom i de lidt større gallerier, der har denne funktion indbygget. Eller er det nu det bliver for meget for php og at jeg skal hoppe ind i det c++ lignende univers for at få fat i den slags?
*NB. Kan godt være teksten virker ret dumpet og ikke ret læsevenlig, men jeg følte at nu hvor jeg alligevel er vågen på dette tidspunkt, kan jeg ligeså godt udnytte tiden lidt inden jeg går i seng - _Godnat_
super, lige det jeg ledte efter, *tid det slavearbejdet*, Er det sådan så jeg kan få lidt hjælp til at få det sat til at virke med min uploadkode? psst! GDLib, hvor får jeg fat i det og hvordan sættes det op? ;)
Så i håb om en hjælp fra de længst overvurderede exp-bruger, poster jeg lige min upload-kode.
/***Upload.php***/
<form enctype="multipart/form-data" action="uploadok.php" method="post">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td>Navn:</td>
<td>
<select size='1' name='navn'>
<?
$result = mysql_query("select * from galleri_kategori order by id desc");
while ($row = mysql_fetch_array($result)) {
echo "<option>";
echo $row['navn'];
}
?>
</select></td>
</tr>
<tr>
<td>Vælg fil 1:</td>
<td><input name="fil[]" type="file"></td>
</tr>
<tr>
<td>Kommentar:</td>
<td><input type="text" name="kommentar" value="" size="40" maxlength="20"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Send File"> </td>
</tr>
</form>
/***uploadok.php***/
<?PHP
include "conn.php";
foreach ($_FILES['fil']['name'] as $key => $value)
{
//Her skal filen flyttes fra
$src = $_FILES['fil']['tmp_name'][$key];
//Hvilken type fil arbejder vi med?
$ext = strtolower(end(explode(".", $_FILES['fil']['name'][$key])));
//laver lige et par variabler :-)
$kommentar = $kommentar;
$uge = $uge;
$tid = time();
//Her giver vi billedet et andet navn, så der ikke kommer to ens navne…
$nytNavn = "uploadet-" . $tid . "." . $ext;
//Her er vores destination for det store billede
$dst = "./upload/" . $nytNavn;
//her uploades det store billede:
copy($src, $dst);
//billed-funktioner:
$image = $dst;
//hvis billedet eksisterer
if(file_exists($image)) {
//billedet eksisterer
$foto = 1;
//find størrelsen
$imgsize = getimagesize($image);
//hvis bredden er mere end 200px
if($imgsize[0] > 200) {
//sæt det nye billedes bredde til 200,
//og regn højden ud så propertionerne passer
$width = 200;
$height = $imgsize[1] / ($imgsize[0] / 200);
//lav et nyt, blankt billede
$dst_img=imagecreatetruecolor($width,$height);
//åbn kildebilledet
$src_img=ImageCreateFromJpeg("$image");
//kopiér og resize kildebilledet over i det nye billede
ImageCopyResampled($dst_img,$src_img,0,0,0,0,$width,$height,ImageSX($src_img),ImageSY($src_img));
//lav output til mappen /tmp/
ImageJpeg($dst_img, "./upload/thumbnail/" . $nytNavn);
//hvis bredden ikke er over 200px
} else {
//åbn kildebilledet og lav output
$src_img=ImageCreateFromJpeg("$image");
ImageJpeg($src_img, $dst);
};
//sæt url'en til billedet
$imgurl = "./upload/thumbnail/" . $nytNavn;
} else {
//foto findes ikke
$foto = 0;
};
//Her ligges oplysningerne ind databasen – huske at connecte til den!
$query = "INSERT INTO galleri (billede, navn, kommentar, thumbnail) VALUES ('$dst','$navn','$kommentar','$imgurl')";
mysql_query($query);
}
include "upload.php";
?>
/***Slut***/
- På forhånd tak
aye, men så siger jeg bare mange tak, sad netop og fumlede med det da jeg kunne se du skrev, havde stort set glemt alt ang. eksperten ;)
/***accepteret***/