Friday, 18 December 2015

How to upload files in MY SQL database in PHP

Using PHP to upload files into MySQL database sometimes needed by some web application. For instance for storing pdf documents or images to make som kind of online briefcase (like Yahoo briefcase).
For the first step, let's make the table for the upload files. The table will consist of.
  1. id : Unique id for each file
  2. name : File name
  3. type : File content type
  4. size : File size
  5. content : The file itself
 Note: To get trained in PHP: php training institute
For column content we'll use BLOB data type. BLOB is a binary large object that can hold a variable amount of data. MySQL have four BLOB data types, they are :
  • TINYBLOB
  • BLOB
  • MEDIUMBLOB
  • LONGBLOB
Since BLOB is limited to store up to 64 kilobytes of data we will use MEDIUMBLOB so we can store larger files ( up to 16 megabytes ).
CREATE TABLE upload (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
type VARCHAR(30) NOT NULL,
size INT NOT NULL,
content MEDIUMBLOB NOT NULL,
PRIMARY KEY(id)
);
Uploading a file to MySQL is a two step process. First you need to upload the file to the server then read the file and insert it to MySQL.
For uploading a file we need a form for the user to enter the file name or browse their computer and select a file. The input type="file" is used for that purpose.

Example : upload.php
Source code : upload.phps
<form method="post" enctype="multipart/form-data">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" id="userfile">

</td>
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
An upload form must have encytype="multipart/form-data" otherwise it won't work at all. Of course the form method also need to be set to method="post". Also remember to put a hidden input MAX_FILE_SIZE beforethe file input. It's to restrict the size of files.
After the form is submitted the we need to read the autoglobal $_FILES. In the example above the input name for the file is userfile so the content of $_FILES are like this :
$_FILES['userfile']['name']
The original name of the file on the client machine.
$_FILES['userfile']['type']
The mime type of the file, if the browser provided this information. An example would be "image/gif".
$_FILES['userfile']['size']
The size, in bytes, of the uploaded file.
$_FILES['userfile']['tmp_name']
The temporary filename of the file in which the uploaded file was stored on the server.
$_FILES['userfile']['error']
The error code associated with this file upload. ['error'] was added in PHP 4.2.0

Example : upload.php

<?php
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName  = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];

$fp      = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

if(!get_magic_quotes_gpc())
{
    $fileName = addslashes($fileName);
}
include 'library/config.php';
include 'library/opendb.php';

$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Error, query failed');
include 'library/closedb.php';

echo "<br>File $fileName uploaded<br>";
}
?>
Before you do anything with the uploaded file. You should not assume that the file was uploaded successfully to the server. Always check to see if the file was successfully uploaded by looking at the file size. If it's larger than zero byte then we can assume that the file is uploaded successfully.PHP saves the uploaded file with a temporary name and save the name in $_FILES['userfile']['tmp_name']. Our next job is to read the content of this file and insert the content to database. Always make sure that you useaddslashes() to escape the content. Using addslashes() to the file name is also recommended because you never know what the file name would be.
That's it now you can upload your files to MySQL. Now it's time to write the script to download those files.
 

 

Downloading Files From MySQL Database

When we upload a file to database we also save the file type and length. These were not needed for uploading the files but is needed for downloading the files from the database.
The download page list the file names stored in database. The names are printed as a url. The url would look like download.php?id=3. To see a working example click here. I saved several images in my database, you can try downloading them.
Example :
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
include 'library/config.php';
include 'library/opendb.php';
$query = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
while(list($id, $name) = mysql_fetch_array($result))
{
?>
<a href="download.php?id=<?php=$id;?>"><?php=$name;?></a> <br>
<?php
}
}
include 'library/closedb.php';
?>
</body>
</html>

When you click the download link, the $_GET['id'] will be set. We can use this id to identify which files to get from the database. Below is the code for downloading files from MySQL Database.
Example :  
<?php
if(isset($_GET['id']))
{
// if id is set then get the file with the id from database

include 'library/config.php';
include 'library/opendb.php';$id    = $_GET['id'];
$query = "SELECT name, type, size, content " .
         "FROM upload WHERE id = '$id'";


$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) =                                  mysql_fetch_array($result);
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
echo $content;
include 'library/closedb.php';
exit;
}
?>
Before sending the file content using echo first we need to set several headers. They are :
  1. header("Content-length: $size")
    This header tells the browser how large the file is. Some browser need it to be able to download the file properly. Anyway it's a good manner telling how big the file is. That way anyone who download the file can predict how long the download will take.
  2. header("Content-type: $type")
    This header tells the browser what kind of file it tries to download.
  3. header("Content-Disposition: attachment; filename=$name");
    Tells the browser to save this downloaded file under the specified name. If you don't send this header the browser will try to save the file using the script's name (download.php).
After sending the file the script stops executing by calling exit.
NOTE :
To get training in php : php training in jaipur
When sending headers the most common error message you will see is something like this :
Warning: Cannot modify header information - headers already sent by (output started at C:\Webroot\library\config.php:7) in C:\Webroot\download.php on line 13
This error happens because some data was already sent before we send the header. As for the error message above it happens because i "accidentally" add one space right after the PHP closing tag ( ?> )  in config.php file. So if you see this error message when you're sending a header just make sure you don't have any data sent before calling header(). Check the file mentioned in the error message and go to the line number specified

Wednesday, 2 December 2015

connection string in php with mysql

mysql_connect — Open a connection to a MySQL Server
Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi orPDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
  • mysqli_connect()
  • PDO::__construct()

Description 

resource mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool$new_link = false [, int $client_flags = 0 ]]]]] )
Opens or reuses a connection to a MySQL server.

Parameters 

server
The MySQL server. It can also include a port number. e.g. "hostname:port" or a path to a local socket e.g. ":/path/to/socket" for the localhost.
If the PHP directive mysql.default_host is undefined (default), then the default value is 'localhost:3306'. InSQL safe mode, this parameter is ignored and value 'localhost:3306' is always used.
username
The username. Default value is defined by mysql.default_user. In SQL safe mode, this parameter is ignored and the name of the user that owns the server process is used.
password
The password. Default value is defined by mysql.default_password. In SQL safe mode, this parameter is ignored and empty password is used.
new_link
If a second call is made to mysql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. The new_link parameter modifies this behavior and makes mysql_connect() always open a new link, even if mysql_connect() was called before with the same parameters. In SQL safe mode, this parameter is ignored.
client_flags
The client_flags parameter can be a combination of the following constants: 128 (enable LOAD DATA LOCAL handling), MYSQL_CLIENT_SSLMYSQL_CLIENT_COMPRESSMYSQL_CLIENT_IGNORE_SPACE orMYSQL_CLIENT_INTERACTIVE. Read the section about MySQL client constants for further information. In SQL safe mode, this parameter is ignored.

Return Values 

Returns a MySQL link identifier on success or FALSE on failure.

Examples to learn (php training in jaipur)

Example #1 mysql_connect() example
<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}
echo 
'Connected successfully';mysql_close($link);?>

If want to learn more then visit: php training institute in jaipur

Monday, 10 August 2015

How to create your home page?



How to create your home page?

In the computer world, where everyone is having access to the internet, it becomes necessary for any small or big business firm to have their home page. The web page is becoming more popular and favored strategy to attract the large number of audiences. The new generation is making more use of a website for hiring any service or to buy any product. This way a web page helps the company to grow their business at a faster rate and make more profit.


Earlier, web developers were using HTML –a scripting language to develop a web page, before PHP. But nowadays PHP is a famous general-purpose scripting language that is especially appropriate for the web development. PHP gives a fresh and energetic look to your blog, website in the world of internet. The scripting language will allow to present yourself in a more effective way through a new web page.

As the demand for websites and blog in the social media has increased, you will find a list of more than 100 institutions or training centers that will provide PHP training in jaipur. With this training course, you can make your future bright in the world of web development. The certified training course will help you to prepare yourself to face the challenges in the web page development process. The course will train you to make use of PHP code with HTML code for giving a new look to your web page.

While choosing the best PHP training institute in Jaipur it is advisable to take care of some points. The institute that you are choosing for training course should provide a valid certificate. As the course includes the use of plenty codes, it is important to choose an institute that offers training in small batches.

Saturday, 23 May 2015

Attention!! Freshers, Student & Working Professionals, MSTechnosoft launched PHP course as per Industry Requirements!!

All  those who looking for their excellent job after graduation or have been waiting for job  opportunity in software Industry, So MSTechnosoft institute launched job oriented training program in jaipur

MSTechnosoft php training institute in jaipur  launched two courses on php for student, according to current demand of IT sector.

One is Core PHP and other is Advanced php training in jaipur PHP ver 5 (latest version) with Codeigniter Framework along with joomla, wordpres.

We also introduced advance course for web programming and web designing like asp.net using c#, HTML5, CSS3, Responsive (bootstrap), JQuery, Adobe Photoshop.



Mstechnosoft provide training by professionals only they are software developers who have latest trend experience, MST believe in practical classes so student will get the exact knowledge of particular section including live project training. 

We are providing you a great opportunity to start your career with live project training due to this you will get to know the complete working style of software industry like how to upload files on server, setup database and make your site live on server etc.

This project will give you professional experience how to design the project flow, create data base, coding, communicate with the client, Once you learn all the above mentioned topics you will have a clear and great knowledge about php as a fresher this course is very helpful for cracking any interview.

Get an enrollment today at MSTechnosoft pvt. Ltd. php training in Jaipur and step in to the professional world mstechnosoft here to show you the right career way. MSTechnosoft training  institute  giving you assurance where learning is an experience to achieve career goals.

       Thanks
MSTechnosoft -Team