Showing posts with label mysqli. Show all posts
Showing posts with label mysqli. Show all posts

Tuesday, October 10, 2017

upload Imge or text by using php and Rest Api... final




FileHandler.php
====================


<?php

class FileHandler
{

    private $con;

    public function __construct()
    {
        require_once dirname(__FILE__) . '/DbConnect.php';

        $db = new DbConnect();
        $this->con = $db->connect();
    }


    public function saveFile($file, $extension, $desc)
    {
        $name = round(microtime(true) * 1000) . '.' . $extension;
        $filedest = dirname(__FILE__) . UPLOAD_PATH . $name;
        move_uploaded_file($file, $filedest);

        $url = $server_ip = gethostbyname(gethostname());

        $stmt = $this->con->prepare("INSERT INTO images (description, image) VALUES (?, ?)");
        $stmt->bind_param("ss", $desc, $name);
        if ($stmt->execute()){
return true;
}
else{
 
   //error !! don't go further
   var_dump($this->db->error);

}
            
        return false;
    }
 public function saveFil($file, $extension, $sname, $phone)
    {
        $name = round(microtime(true) * 1000) . '.' . $extension;
        $filedest = dirname(__FILE__) . UPLOAD_PATH . $name;
        move_uploaded_file($file, $filedest);

        $url = $server_ip = gethostbyname(gethostname());

        $stmt = $this->con->prepare("INSERT INTO image(sname,image,phone) VALUES (?, ?, ?)");
        $stmt->bind_param("sss", $sname, $name,$phone);
        if ($stmt->execute()){
return true;
}
else{
 
   //error !! don't go further
//secho $this->db->error;

}
            
        return false;
    }
//$sname,$email, $phone,$roll,$session,$year,$homedst

 public function saveCSE($file, $extension, $sname, $email, $phone,$roll,$year,$homedst)
    {
        $name = round(microtime(true) * 1000) . '.' . $extension;
        $filedest = dirname(__FILE__) . UPLOAD_PATH . $name;
        move_uploaded_file($file, $filedest);

        $url = $server_ip = gethostbyname(gethostname());

        $stmt = $this->con->prepare("INSERT INTO csestudent(sname,image,email, phone,roll,year,homedst) VALUES (?, ?, ?, ?, ?, ?, ?)");
        $stmt->bind_param("sssssss", $sname,$name,$email, $phone,$roll,$year,$homedst);
        if ($stmt->execute()){
return true;
}
else{
 
   //error !! don't go further
//echo $this->db->error;

}
            
        return false;
    }
    public function get($phone, $roll)
    {
        $stmt = $this->con->prepare("SELECT phone, roll, image FROM csestudent where phone= $phone || roll= $roll");
        $stmt->execute();
         $stmt->bind_result($phone,$roll,$image);

        $images = array();

        while ($stmt->fetch()) {

            $temp = array();
            $absurl = 'http://' . gethostbyname(gethostname()) . '/ImageUploadApi' . UPLOAD_PATH . $image;
            $temp['phone'] = $phone;
            $temp['roll'] = $roll;
            $temp['image'] = $absurl;
            array_push($images, $temp);
        }

        return $images;
    }
    public function getAllFiles()
    {
        $stmt = $this->con->prepare("SELECT id, description, image FROM images ORDER BY id DESC");
        $stmt->execute();
        $stmt->bind_result($id, $desc, $image);

        $images = array();

        while ($stmt->fetch()) {

            $temp = array();
            $absurl = 'http://' . gethostbyname(gethostname()) . '/ImageUploadApi' . UPLOAD_PATH . $image;
            $temp['id'] = $id;
            $temp['desc'] = $desc;
            $temp['image'] = $absurl;
            array_push($images, $temp);
        }

        return $images;
    }

}

?>

Api.php
==================

<?php


require_once dirname(__FILE__) . '/FileHandler.php';

$response = array();

if (isset($_GET['apicall'])) {
    switch ($_GET['apicall']) {
        case 'upload':

            if (isset($_POST['desc']) && strlen($_POST['desc']) > 0 && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
                $upload = new FileHandler();

                $file = $_FILES['image']['tmp_name'];

                $desc = $_POST['desc'];

                if ($upload->saveFile($file, getFileExtension($_FILES['image']['name']), $desc)) {
                    $response['error'] = false;
                    $response['message'] = 'File Uploaded Successfullly';
                }

            } else {
                $response['error'] = true;
                $response['message'] = 'Required parameters are not available';
            }

            break;
case 'uploadimage':

            if (isset($_POST['sname']) && strlen($_POST['sname']) > 0 && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
                $upload = new FileHandler();

                $file = $_FILES['image']['tmp_name'];

                $sname = $_POST['sname'];
                $phone = $_POST['phone'];
          

                if ($upload->saveFil($file, getFileExtension($_FILES['image']['name']), $sname, $phone)) {
                    $response['error'] = false;
                    $response['message'] = 'File Uploaded Successfullly';
                }

            } else {
                $response['error'] = true;
                $response['message'] = 'Required parameters are not available';
            }

            break;
case 'csestu':
//$email, $phone,$roll,$session,$year,$homedst

            if (isset($_POST['sname']) && strlen($_POST['sname']) > 0 && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
                $upload = new FileHandler();

                $file = $_FILES['image']['tmp_name'];

                $sname = $_POST['sname'];
                $email = $_POST['email'];
                $phone = $_POST['phone'];
                $roll = $_POST['roll'];
              
                $year = $_POST['year'];
                $homedst = $_POST['homedst'];
$response['check'] = $email.$phone;

                if ($upload->saveCSE($file, getFileExtension($_FILES['image']['name']), $sname, $email, $phone,$roll,$year,$homedst)) {
                   
   $response['error'] = false;
                    $response['message'] = 'File Uploaded Successfullly';
                }

            } else {
                $response['error'] = true;
                $response['message'] = 'Required parameters are not available';
            }

            break;
//get info from server
case 'checkinfo':
// , $phone,$roll

            if (isset($_POST['phone']) && strlen($_POST['phone']) > 0) {
                $upload = new FileHandler();

                $phone = $_POST['phone'];
                $roll = $_POST['roll'];
                
              
             
  
   $response['error'] = false;
                   $response['message'] = $upload->get($phone,$roll);
           
}
            break;


        case 'getallimages':

            $upload = new FileHandler();
            $response['error'] = false;
            $response['images'] = $upload->getAllFiles();

            break;
default:
                $response['error'] = true;
                $response['message'] = 'sory are not available';
break;
    }
}

echo json_encode($response);

function getFileExtension($file)
{
    $path_parts = pathinfo($file);
    return $path_parts['extension'];
}

?>

====================0===================






Constants.php
================

<?php

define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'imageupload');

define('UPLOAD_PATH', '/uploads/');

?>

DbConnect.php
===========

<?php

class DbConnect
{
    private $con;

    public function connect()
    {
        require_once dirname(__FILE__) . '/Constants.php';

        $this->con = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

        if (mysqli_connect_errno()) {
            echo 'Failed to connect ' . mysqli_connect_error();
            return null;
        }



        return $this->con;
    }
}

?>





Sunday, October 8, 2017

Image upload in PHP and MySql using Rest API in post man



Constants.php
----------------------

<?php

define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'imageupload');

define('UPLOAD_PATH', '/uploads/');

?>


DbConnect.php
-----------------------
<?php

class DbConnect
{
    private $con;

    public function connect()
    {
        require_once dirname(__FILE__) . '/Constants.php';

        $this->con = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

        if (mysqli_connect_errno()) {
            echo 'Failed to connect ' . mysqli_connect_error();
            return null;
        }



        return $this->con;
    }
}

?>



FileHandler.php
------------------------

<?php

class FileHandler
{

    private $con;

    public function __construct()
    {
        require_once dirname(__FILE__) . '/DbConnect.php';

        $db = new DbConnect();
        $this->con = $db->connect();
    }


    public function saveFile($file, $extension, $desc)
    {
        $name = round(microtime(true) * 1000) . '.' . $extension;
        $filedest = dirname(__FILE__) . UPLOAD_PATH . $name;
        move_uploaded_file($file, $filedest);

        $url = $server_ip = gethostbyname(gethostname());

        $stmt = $this->con->prepare("INSERT INTO images (description, image) VALUES (?, ?)");
        $stmt->bind_param("ss", $desc, $name);
        if ($stmt->execute()){
return true;
}
else{

   //error !! don't go further
   var_dump($this->db->error);

}
         
        return false;
    }

    public function getAllFiles()
    {
        $stmt = $this->con->prepare("SELECT id, description, url FROM images ORDER BY id DESC");
        $stmt->execute();
        $stmt->bind_result($id, $desc, $url);

        $images = array();

        while ($stmt->fetch()) {

            $temp = array();
            $absurl = 'http://' . gethostbyname(gethostname()) . '/ImageUploadApi' . UPLOAD_PATH . $url;
            $temp['id'] = $id;
            $temp['desc'] = $desc;
            $temp['url'] = $absurl;
            array_push($images, $temp);
        }

        return $images;
    }

}

?>


Api.php
---------------------

<?php


require_once dirname(__FILE__) . '/FileHandler.php';

$response = array();

if (isset($_GET['apicall'])) {
    switch ($_GET['apicall']) {
        case 'upload':

            if (isset($_POST['desc']) && strlen($_POST['desc']) > 0 && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
                $upload = new FileHandler();

                $file = $_FILES['image']['tmp_name'];

                $desc = $_POST['desc'];

                if ($upload->saveFile($file, getFileExtension($_FILES['image']['name']), $desc)) {
                    $response['error'] = false;
                    $response['message'] = 'File Uploaded Successfullly';
                }

            } else {
                $response['error'] = true;
                $response['message'] = 'Required parameters are not available';
            }

            break;

        case 'getallimages':

            $upload = new FileHandler();
            $response['error'] = false;
            $response['images'] = $upload->getAllFiles();

            break;
    }
}

echo json_encode($response);

function getFileExtension($file)
{
    $path_parts = pathinfo($file);
    return $path_parts['extension'];
}

?>