Χριστοφορίδης Ιωάννης Ραφαήλ
Σχεδιασμός πληροφοριακού συστήματος διαχείρισης μητρώου
υλικών
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">