background image

Χριστοφορίδης Ιωάννης Ραφαήλ 

Σχεδιασμός πληροφοριακού συστήματος διαχείρισης μητρώου 

υλικών 

 

 

52 

 

Στο  αρχείο  παρατηρούμε  πολλές  γνώριμες  συναρτήσεις  αλλά  και  μια  νέα.  Προτού 

προχωρήσουμε  στην  ανάλυση  της  συνάρτησης,  σημαντικό  είναι  να  αναλύσουμε  τον  κώδικα 
που  χειρίζεται  το  ανέβασμα  της  εικόνας  στον  server  και  την  δημιουργία  thumbnail  που 
χρειάζεται στην προβολή. Στον κώδικα μπορούμε να τον δούμε το εξής: 

if(($type=='image')and(isset($_FILES[$prox]["name"]))){$success=1; 
$allowedExts = array("gif","jpeg","bmp","jpg","png"); 
$temp = explode(".", $_FILES[$prox]["name"]); 
$extension = strtolower(end($temp)); 
if (in_array($extension, $allowedExts)){ 
... 
if($success==1){ 
$toinput="dximage".uniqid().substr(sha1($prox),5,8); 
move_uploaded_file($_FILES[$prox]["tmp_name"],"upload/".$toinput."n".".$extension"); 
chmod("upload/".$toinput."n".".$extension", 0777); 
$ec=$extension; 
if($ec=='jpg'){$ec='jpeg';} 
$t = 'imagecreatefrom'.$ec; 
$t = str_replace('.','',$t); 
$source_image = $t('upload/'.$toinput."n".".$extension"); 
$width = imagesx($source_image); 
$height = imagesy($source_image); 
$desired_width=min(100,$width); 
//$desired_height = floor($height * ($desired_width / $width)); 
$desired_height = min(100,floor($height * ($desired_width / $width))); 
$virtual_image = imagecreatetruecolor($desired_width, $desired_height); 
imagecopyresampled($virtual_image, 

$source_image, 

0, 

0, 

0, 

0, 

$desired_width, 

$desired_height, $width, $height); 
imagejpeg($virtual_image, "upload/".$toinput."t".".jpeg"); 
chmod("upload/".$toinput."t".".jpeg", 0777); 
$toinput=$toinput.".$extension"; 
$damnnoob++; 
$nowihavetodeletethem[$damnnoob]=$toinput; 
}elseif($success==9){ 
echo "Error : File is not an allowed type of image."; 
learntoread(); 
die ();}} 
<form enctype="multipart/form-data" action="" method="post" class="elegant-aero">