/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
"Rezise" uploaded billede...
Fra : Jeppe Christensen


Dato : 08-11-05 23:31

Jeg har et upload som uploader et billede i en mappe +
informationer om billedet i en mySQL database.

mit script ser således ud:

<?php
require("config.php");
mysql_connect("$server","$user","$password");
mysql_select_db("$database");

$fra   = $_FILES['fil']['tmp_name'];

$ext   = strtolower(end(explode(".", $_FILES['fil']['name'])));

if($ext == "jpg" || $ext == "jpeg" || $ext == "gif")
{
$tid      = time();

$nytNavn = $tid . rand(1, 1000000) . $ext;

$til      = "upload/billeder/large/" . $nytNavn;

move_uploaded_file($fra, $til);

$query   = "INSERT INTO billeder (billede, tid) VALUES ('$nytNavn',
'$tid')";
mysql_query($query);
}

header("Location: billeder.php");

?>

Det som ønsket var at den kunne uploade et "rezised(dunno om det
staves sådan)" af billedet i 1/10 højde og 1/10 bredde. Billedet
skal stadigvæk have det samme navn, men selfølgelig ligges i en
anden mappe(evt:upload/billeder/small/ ).

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
none (09-11-2005)
Kommentar
Fra : none


Dato : 09-11-05 08:18

Jeppe Christensen wrote:
> Jeg har et upload som uploader et billede i en mappe +
> informationer om billedet i en mySQL database.
>
> mit script ser således ud:
>
> <?php
> require("config.php");
> mysql_connect("$server","$user","$password");
> mysql_select_db("$database");
>
> $fra   = $_FILES['fil']['tmp_name'];
>
> $ext   = strtolower(end(explode(".", $_FILES['fil']['name'])));
>
> if($ext == "jpg" || $ext == "jpeg" || $ext == "gif")
> {
> $tid      = time();
>
> $nytNavn = $tid . rand(1, 1000000) . $ext;
>
> $til      = "upload/billeder/large/" . $nytNavn;
>
> move_uploaded_file($fra, $til);
>
> $query   = "INSERT INTO billeder (billede, tid) VALUES ('$nytNavn',
> '$tid')";
> mysql_query($query);
> }
>
> header("Location: billeder.php");
>
> ?>
>
> Det som ønsket var at den kunne uploade et "rezised(dunno om det
> staves sådan)" af billedet i 1/10 højde og 1/10 bredde. Billedet
> skal stadigvæk have det samme navn, men selfølgelig ligges i en
> anden mappe(evt:upload/billeder/small/ ).
>

Staves Resize

Et forslag:
(nok mest gældende for et *Nix system.
system("pnmscale -xy 250 200 $tmpimg | cjpeg -smoo 10 -qual 50 >$newfile");

Eller måske noget af følgende:
$destimg=ImageCreateTrueColor($new_width,$new_height) or die('Problem In
Creating image');
$srcimg=ImageCreateFromJPEG($prod_img) or die('Problem In opening Source
Image');
ImageCopyResized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))
or die('Problem In resizing');
ImageJPEG($destimg,$prod_img_thumb,90) or die('Problem In saving');
imagedestroy($destimg);

none (09-11-2005)
Kommentar
Fra : none


Dato : 09-11-05 08:19

none wrote:
> Jeppe Christensen wrote:
>
>> Jeg har et upload som uploader et billede i en mappe +
>> informationer om billedet i en mySQL database.
>>
>> mit script ser således ud:
>>
>> <?php
>> require("config.php");
>> mysql_connect("$server","$user","$password");
>> mysql_select_db("$database");
>>
>> $fra = $_FILES['fil']['tmp_name'];
>>
>> $ext = strtolower(end(explode(".", $_FILES['fil']['name'])));
>>
>> if($ext == "jpg" || $ext == "jpeg" || $ext == "gif")
>> {
>> $tid = time();
>>
>> $nytNavn = $tid . rand(1, 1000000) . $ext;
>>
>> $til = "upload/billeder/large/" . $nytNavn;
>>
>> move_uploaded_file($fra, $til);
>>
>> $query = "INSERT INTO billeder (billede, tid) VALUES ('$nytNavn',
>> '$tid')";
>> mysql_query($query);
>> }
>>
>> header("Location: billeder.php");
>>
>> ?>
>>
>> Det som ønsket var at den kunne uploade et "rezised(dunno om det
>> staves sådan)" af billedet i 1/10 højde og 1/10 bredde. Billedet
>> skal stadigvæk have det samme navn, men selfølgelig ligges i en
>> anden mappe(evt:upload/billeder/small/ ).
>>
>
> Staves Resize
>
> Et forslag:
> (nok mest gældende for et *Nix system.
> system("pnmscale -xy 250 200 $tmpimg | cjpeg -smoo 10 -qual 50 >$newfile");
>
> Eller måske noget af følgende:
> $destimg=ImageCreateTrueColor($new_width,$new_height) or die('Problem In
> Creating image');
> $srcimg=ImageCreateFromJPEG($prod_img) or die('Problem In opening Source
> Image');
> ImageCopyResized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))
> or die('Problem In resizing');
> ImageJPEG($destimg,$prod_img_thumb,90) or die('Problem In saving');
> imagedestroy($destimg);

Lige en opfølgelse:
http://dk2.php.net/imagecopyresized
Står meget guff der du kan bruge

Jeppe Christensen (09-11-2005)
Kommentar
Fra : Jeppe Christensen


Dato : 09-11-05 14:58

Har tilføjet dette til mit script:

// The file
$filename = "upload/billeder/large/" . $nytNavn;
$percent = 1.0; // if you want to scale down first
$imagethumbsize = 200; // thumbnail size (area cropped in middle of image)
// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($imagethumbsize , $imagethumbsize); // true color for best quality
$image = imagecreatefromjpeg($filename);

// basically take this line and put in your versin the -($new_width/2) + ($imagethumbsize/2) &
-($new_height/2) + ($imagethumbsize/2) for
// the 2/3 position in the 3 and 4 place for imagecopyresampled
// -($new_width/2) + ($imagethumbsize/2)
// AND
// -($new_height/2) + ($imagethumbsize/2)
// are the trick
imagecopyresampled($image_p, $image, -($new_width/2) + ($imagethumbsize/2), -($new_height/2) +
($imagethumbsize/2), 0, 0, $new_width , $new_width , $width, $height);

// Output

imagejpeg($image_p, null, 100);

Men det kommer til at se lidt fucked ud:

link: http://www.gie04-05.dk/billeder.php
og http://www.gie04-05.dk/billeder-upload-verify.php

Orginal billedet er 200*174 så kan ikke forstå det bliver så lille..


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

none (09-11-2005)
Kommentar
Fra : none


Dato : 09-11-05 17:27

Jeppe Christensen wrote:
> Har tilføjet dette til mit script:
>
> // The file
> $filename = "upload/billeder/large/" . $nytNavn;
> $percent = 1.0; // if you want to scale down first
> $imagethumbsize = 200; // thumbnail size (area cropped in middle of image)
> // Content type
> header('Content-type: image/jpeg');
>
> // Get new dimensions
> list($width, $height) = getimagesize($filename);
> $new_width = $width * $percent;
> $new_height = $height * $percent;
>
> // Resample
> $image_p = imagecreatetruecolor($imagethumbsize , $imagethumbsize); // true color for best quality
> $image = imagecreatefromjpeg($filename);
>
> // basically take this line and put in your versin the -($new_width/2) + ($imagethumbsize/2) &
> -($new_height/2) + ($imagethumbsize/2) for
> // the 2/3 position in the 3 and 4 place for imagecopyresampled
> // -($new_width/2) + ($imagethumbsize/2)
> // AND
> // -($new_height/2) + ($imagethumbsize/2)
> // are the trick
> imagecopyresampled($image_p, $image, -($new_width/2) + ($imagethumbsize/2), -($new_height/2) +
> ($imagethumbsize/2), 0, 0, $new_width , $new_width , $width, $height);
>
> // Output
>
> imagejpeg($image_p, null, 100);
>
> Men det kommer til at se lidt fucked ud:
>
> link: http://www.gie04-05.dk/billeder.php
> og http://www.gie04-05.dk/billeder-upload-verify.php
>
> Orginal billedet er 200*174 så kan ikke forstå det bliver så lille..
>
>

Kan kun se billeder der faktisk er 200*174 på siden ?

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste