Saturday 12 July 2014

How to download image from server to local using database.



If you want that user can download your images that was uploaded by the other user.

For that this could will help you :

<?php

function output_file($file, $name, $mime_type='')

{

 if(!is_readable($file)) die('File not found or inaccessible!');

 $size = filesize($file);

 $name = rawurldecode($name);

 $known_mime_types=array(

    "htm" => "text/html",

    "exe" => "application/octet-stream",

    "zip" => "application/zip",

    "doc" => "application/msword",

    "jpg" => "image/jpg",

    "php" => "text/plain",

    "xls" => "application/vnd.ms-excel",

    "ppt" => "application/vnd.ms-powerpoint",

    "gif" => "image/gif",

    "pdf" => "application/pdf",

    "txt" => "text/plain",

    "html"=> "text/html",

    "png" => "image/png",

    "jpeg"=> "image/jpg"

 );

 

 if($mime_type==''){

     $file_extension = strtolower(substr(strrchr($file,"."),1));

     if(array_key_exists($file_extension, $known_mime_types)){

        $mime_type=$known_mime_types[$file_extension];

     } else {

        $mime_type="application/force-download";

     };

 };

 

 //turn off output buffering to decrease cpu usage

 @ob_end_clean(); 

 

 // required for IE, otherwise Content-Disposition may be ignored

 if(ini_get('zlib.output_compression'))

 ini_set('zlib.output_compression', 'Off');

 header('Content-Type: ' . $mime_type);

 header('Content-Disposition: attachment; filename="'.$name.'"');

 header("Content-Transfer-Encoding: binary");

 header('Accept-Ranges: bytes');

 

 // multipart-download and download resuming support

 if(isset($_SERVER['HTTP_RANGE']))

 {

    list($a, $range) = explode("=",$_SERVER['HTTP_RANGE'],2);

    list($range) = explode(",",$range,2);

    list($range, $range_end) = explode("-", $range);

    $range=intval($range);

    if(!$range_end) {

        $range_end=$size-1;

    } else {

        $range_end=intval($range_end);

    }


    $new_length = $range_end-$range+1;

    header("HTTP/1.1 206 Partial Content");

    header("Content-Length: $new_length");

    header("Content-Range: bytes $range-$range_end/$size");

 } else {

    $new_length=$size;

    header("Content-Length: ".$size);

 }

 

 /* Will output the file itself */

 $chunksize = 1*(1024*1024); //you may want to change this

 $bytes_send = 0;

 if ($file = fopen($file, 'r'))

 {

    if(isset($_SERVER['HTTP_RANGE']))

    fseek($file, $range);

 

    while(!feof($file) && 

        (!connection_aborted()) && 

        ($bytes_send<$new_length)

          )

    {

        $buffer = fread($file, $chunksize);

        echo($buffer); 

        flush();

        $bytes_send += strlen($buffer);

    }

 fclose($file);

 } else

 //If no permissiion

 die('Error - can not open file.');

 //die

die();

}


//Set the time out

set_time_limit(0);


$host = "database_host_name"; 

$db_user = "database_user_name"; 

$db_pwd = "database_password";

$db_name = "database_name";

$con = mysqli_connect($host,$db_user,$db_pwd,$db_name);


$filename = "";

$sqlimg = mysqli_query($con,"Select img from table_name");

if($rowimg = mysqli_fetch_array($sqlimg)){
         $filename = $rowimg[0];
}

//Call the download function with file path,file name and file type

if($filename!="")
{

    output_file($file_path, ''.$filename.'', 'text/plain');

}

?>

How to restore mysql database using PHP script

If you want to restore your database with all tables and their data using the code of PHP this will helps you.

Here is the example of Database Restore PHP Script :

<?php

if(isset($_POST['submit'])) //Set Click event on form load

{

$host = "database_host_name"; 

$db_user = "database_user_name"; 

$db_pwd = "database_password";

$db_name = "database_name";

error_reporting(0);

ini_set('memory_limit','128M'); 

$db = mysqli_connect($host,$db_user,$db_pwd,$db_name);


       

        //File name you want to upload.

$filename = $_FILES["filemainname"]["name"]; 


$fp = fopen($filename, 'r' );

$fetchData = fread($fp, filesize($filename));

$sqlInfo = explode(";\n", $fetchData);

foreach ($sqlInfo AS $sqlData )

{

$datad = mysqli_query($db,$sqlData);

}

echo 'Done';

}

?>


<form action="index.php" method="post" enctype="multipart/form-data">

<label for="file">Filename:</label>

<input type="file" name="filemainname" id="filemainname"><br>

<input type="submit" name="submit" value="Submit">

</form>

Tuesday 8 July 2014

How to get Mysql Database Backup Using PHP

If you want to get backup of all tables in your database or specific table in those database .
I think this script will help you for getting database backup.

Here is the example of Database Backup PHP Script :

<?php function backup_db() { $host="localhost"; $uname="database_username"; $pass="database_password"; $database = "databasename";  $return = ""; $connection=mysqli_connect($host,$uname,$pass,$database);  /* Store All Table name in an Array */ $allTables = array(); $result = mysqli_query($connection,'SHOW TABLES'); while($row = mysqli_fetch_row($result)){ $allTables[] = $row[0]; } foreach($allTables as $table){ $result = mysqli_query($connection,'SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS '.$table.';'; $row2 = mysqli_fetch_row(mysqli_query($connection,'SHOW CREATE TABLE '.$table)); $return.= "\n\n".$row2[1].";\n\n"; for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)){   $return.= 'INSERT INTO '.$table.' VALUES('; for($j=0; $j<$num_fields; $j++){   $row[$j] = addslashes($row[$j]);   $row[$j] = str_replace("\n","\\n",$row[$j]);   if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; }    else { $return.= '""'; }   if ($j<($num_fields-1)) { $return.= ','; } }   $return.= ");\n"; } } $return.="\n\n"; } // Create Backup Folder $folder = 'e:/DB_Backup/'; // I am getting database backup on my E driver. if (!is_dir($folder)) mkdir($folder, 0777, true); chmod($folder, 0777); date_default_timezone_set('Asia/Kolkata'); $date = date('m-d-Y-H-i-s', time());  $filename = $folder."db-backup-".$date;  $handle = fopen($filename.'.sql','w+'); fwrite($handle,$return); fclose($handle); } // Call the function backup_db();?>