/ 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
Dobbelt effekt?
Fra : Rune N.


Dato : 28-05-04 12:20

Hej jeg har prøvet at sakse lidt PHP kode samme til et billede galleri.
Men jeg opdagede at jeg bruger imagecopyresampled() funktionen til at
kopier $_FILES["upload_file"]["tmp_file"] til $resized_file og derefter
bruger jeg move_uploaded_file() eller copy() til at kopier $resized til
$_FILES["upload_file"]["name"].

Er det ikke at gentage samme proces to gange? Kan jeg ikke bare slette
move_uploaded_file() funktionen? Eller er der en forskel på de to
funktioner?

Her er lidt af galleri koden hvis det kan hjælpe til at give lidt
mening:

/** Hvor filen skal flyttes fra og til**/
$fra = $_FILES["upload_file"]["tmp_name"];
$resized = $_FILES["upload_file"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upload_file"]
["name"];

thumb($fra,$resized);

/**Vi kontrolere om filen er for stor**/
$file_size = filesize($fra)/1024;
if ($file_size > $konfiguration["max_stoerelse"]){
    die ("Desværre Billedet fylder for meget, billedet mp kun
fylde" .
    $konfiguration["max_stoerelse"] . "kByte. Billedet du prøver at
uploade fylder" .
    $file_size . "kByte");
}

/**Undersoeger om filen er et billede, hvis TRUE så uploades billedet**/
if (typeCheck($_FILES["upload_file"]["type"])){
if (function_exists("move_uploaded_file")){
    move_uploaded_file($resized, $til);
   } else {
   copy($resized, $til);
   }
}


/*****************************************************
** Resize funktion **
*****************************************************/
function thumb($sourcefile,$targetfile){
$temp = getimagesize($sourcefile);
if ($temp[0]<480) {
$size = $temp[0];
} else {
if ($temp[0]>$temp[1]) $size = 480;    
if ($temp[0]<$temp[1]) $size = 400;
$file_type = $_FILES["upload_file"]["type"];

/**Hvis billedet er af formatet JPEG bruges nedenstaaende script**/
if ($file_type == "image/pjpeg" or $file_type == "image/jpeg"){
$source_id = imageCreateFromJPEG($sourcefile);
$source_x = imagesx($source_id);
$source_y = imagesy($source_id);
$delta = $size/max($source_x, $source_y);
$dest_x = round($source_x*$delta);
$dest_y = round($source_y*$delta);
$target_id=imagecreatetruecolor($dest_x, $dest_y);
imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y,
   $source_x,$source_y);
imagejpeg($target_id,$targetfile,100);
}else {
/**Hvis billedet er af formatet PNG bruges nedenstaaende script**/   
if ($_FILES["upload_file"]["type"]=="image/x-png"){
$source_id = imageCreateFromPng($sourcefile);
$source_x = imagesx($source_id);
$source_y = imagesy($source_id);
$delta = $size/max($source_x, $source_y);
$dest_x = round($source_x*$delta);
$dest_y = round($source_y*$delta);
$target_id=imagecreatetruecolor($dest_x, $dest_y);
imagecopyresampled($target_id,$source_id,0,0,0,0, $dest_x,$dest_y,
   $source_x,$source_y);
imagepng($target_id,$targetfile,100);
}
}
}
}

 
 
Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste