Example #1
0
<?php

@ini_set('memory_limit', '128M');
@ini_set('upload_max_filesize', '40MB');
@ini_set('max_execution_time', '90');
include '../class/autoloader.php';
$autoloader = new autoloader();
// init autoloader
$request = new requestHandler();
// init request
$db = new database();
// init database
$filter = new filter();
// init filter
$data = new dataHandler();
// init dataHandler
$post = $request->getPost();
$file = $request->getFile();
$page = $request->getPage();
$sort = $request->getSorting();
$msg = '';
// If upload
if (isset($post['upload'])) {
    // Error check
    $errorMsg = array();
    $ext = $filter->isImage($file['image']['name']);
    if ($ext === false) {
        $errorMsg['upload'] = '<p class="error">Please insert only png/jpg/jpeg/gif/bmp</p>';
    }
    if (isset($file['image']['name']) && $filter->isSize($file['image']['tmp_name'])) {
        $errorMsg['upload'] = '<p class="error">Minimum 2MB and 200px x 200px</p>';
 /**
  * Save image as px in database
  * @access public
  * @param string $image
  * @return array
  */
 public function saveImage($src, $ext)
 {
     $db = new database();
     $data = new dataHandler();
     $size = getimagesize($src);
     $width = (int) $size[0];
     $height = (int) $size[1];
     if ($ext === 'png') {
         $image = imagecreatefrompng($src);
     }
     if ($ext === 'jpg' || $ext === 'jpeg') {
         $image = imagecreatefromjpeg($src);
     }
     if ($ext === 'gif') {
         $image = imagecreatefromgif($src);
     }
     if ($ext === 'bmp') {
         $image = imagecreatefromwbmp($src);
     }
     $values = '';
     for ($y = 0; $y < $height; ++$y) {
         for ($x = 0; $x < $width; ++$x) {
             $res = imagecolorat($image, $x, $y);
             $rgb1 = $res >> 16 & 0xff;
             $rgb2 = $res >> 8 & 0xff;
             $rgb3 = $res & 0xff;
             $values .= '(
                         AES_ENCRYPT("' . $rgb1 . '", "' . $db->aesKey . '"), 
                         AES_ENCRYPT("' . $rgb2 . '", "' . $db->aesKey . '"), 
                         AES_ENCRYPT("' . $rgb3 . '", "' . $db->aesKey . '"),
                         ' . $x . ',
                         ' . $y . ',
                         ' . $data->getRank($rgb1, $rgb2, $rgb3) . '
                     ),';
             if ($x % 100 == 0) {
                 $values .= '|';
             }
         }
         //end for $x
     }
     //end for $y
     $valueArray = explode('|', $values);
     $i_max = count($valueArray);
     for ($i = 0; $i < $i_max; ++$i) {
         $valueArray[$i] = substr($valueArray[$i], 0, strlen($valueArray[$i]) - 1);
         $sql = 'INSERT INTO 
                     pixel (pixelRGB1, pixelRGB2, pixelRGB3, pixelX, pixelY, pixelRank)
                 VALUES ' . $valueArray[$i];
         $db->insert($sql);
     }
     imagedestroy($image);
 }