4 Things You Should Be Check Now To Improve Php Web Development

PHP: Hypertext Preprocessor or simply PHP is a scripting language or programming language concocted by Rasmus Lerdorf in 1995. At the initial stage "Personal Home Page" was the acronym for PHP web development application. It was planned for the personal use of the developer but later when its functionality increased the named changed to "PHP: Hypertext Preprocessor".


From the beginning, PHP has become one of the most well-known programming languages for Web development applications. There are many popular websites which are powered by PHP as well as the majority of scripts and Web projects are also developed with the help of PHP.|

Know the right time to begin optimizing PHP:


You should first run benchmarks on your hardware as well as software in order to determine the performance parameters. It will help you understand the risks and benefits of specific trade-offs thus will guide your coding. Use adequate test data to create code that scales.

Here are 4 excellent tips that will surely help PHP developers to increase or speed up the up the performance of the PHP web development application. Every PHP web developers should learn and follow these basic tips whenever they program.

1.    Upgrading your PHP to the latest version:

If you are using the old versions of PHP web development application then you are surely missing a lot of new features and improvements related to the performance that has been made to the application. Every new version of the PHP web development application has something new compared to the previous versions.

In case you are working with legacy code then upgrading to the new versions of PHP web development is not always a simple task! In any case, if the application is experiencing any performance issues then updating the application to the latest version is the best task that one can follow.

With the release of every PHP updates, there is an increase in performance associated. The performance increases roughly to 100 percent across all kinds of applications.  Not upgrading to the newest version is an indiscreet decision one will make in terms of performance point of view. Upgrading to the newest version will result in less memory consumption which enables you to handle many requests at the same time without depleting the memory of the server.

2.    Take the advantage of using an accelerator such as APC or OPCache:

 In two steps PHP runs your code and they are:

●    PHP compiler will transform the script from PHP code into opcodes
●    Then the PHP virtual machine will execute this intermediate cache format.

 The first step of this process can be cached by the accelerators such as APC or OPCache until the PHP file changes.  An accelerator can double the performance. This ability of an accelerator depends on the kind of application you run and the PHP version is used by you. Latest versions of PHP include OPCache so that's why it is advisable to upgrade to newer versions.

In case if you are running the application on shared hosting then there is a chance of having a disabled opcode cache. The hoster may disable this opcode cache for security reasons. You can move your code to the modern hosters that provide you with the control and are pretty much affordable. You can use Digitalocean and Syseleven for hosting.

3.    Distinguish the delays in the database and neaten your filesystem:


The code doesn't cause the performance problems always.  When the application accesses the resources then most of the congestions occur & this results in lowering the performance of the application. You should look at all the occurrences of database access in code access. This should be done as the data access layer of a PHP web development application is responsible for the occurrence of 90 percent of execution time.

In order to identify and address slow SQL queries turn on slow SQL logs. After that check their efficiency by querying the queries. You can cut down the database access time to boost your application's performance. This can be done if. If there are many queries are being made or same queries are being made several times during a single execution.

You should remove your filesystem if there is any inefficiency present. You should also ensure that the filesystem isn't being utilized for session storage. Look out for codes such as file_exists(), filesize() or filetime() which can trigger a file stat. If any of these functions are present then there will be issues related to performance.

4.    Use XDebug and monitor the APIs:

You should profile your PHP to manage the external resources as a full PHP code profile supplies you with in-depth information about the performance of your application. You can use XDebug to profile your PHP code. Most web applications depend on remote APIs. You can eliminate the problems resulting from AP by establishing timeouts for API requests.

Author Bio:
Sunny Chawla is a Marketing Manager at AIS Technolabs – a Web design and Development Company. Helping global businesses with unique and engaging tools for their business. He would love to share thoughts on Ecm Services, Web Designing and Php Web Development.

How to Upload Files Into a MySQL Database Using PHP?


MYSQL is utilized for creating database for websites and web applications. With its amazing performance, dependability and usability, MySQL has become best database option for web applications. It is freely accessible and simple to install. When the user uploads a file and tap on the upload button, the data is submitted to the server. PHP now takes the file and saves it in a folder in the project. Afterwards, it saves the text in the database together with a link pointing to the image in the folder. Now the biggest question is that how to upload files to MySQL database using PHP? Let’s learn.

Phase 0: Creating A Database
The process of creating database is easy. One table with a Binary large object (BLOB) field for the file data and some fields for different pieces of information relating to the file:

1. CREATE TABLE `file` (
2. `id` Int Unsigned Not Null Auto_Increment,
3. `name` VarChar(255) Not Null Default Untitled.txt,
4. `mime` VarChar(50) Not Null Default text/plain,
5. `size` BigInt Unsigned Not Null Default 0,
6. `data` MediumBlob Not Null,
7. `created` DateTime Not Null,
8. PRIMARY KEY (`id`)
9. )
10.

As you see, a file is stored by their, including the extension. We have the mime type, which is used to let the browser know what kinds of file are dealing with. us The size of the file in bytes. And finally the data itself, in a MediumBlob field.


Phase 1: Uploading The File
Now, there is need to get the file from the user. The table we designed does not want further information from the user. So, we will make this easy and create a HTML form with only a single "file" input field and a submit button:

1. <!DOCTYPE html>
2. <head>
3. <title>MySQL file upload example</title>
4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
5. </head>
6. <body>
7. <form action="add_file.php" method="post" enctype="multipart/ form-data">
8. <input type="file" name="uploaded_file"><br>
9. <input type="submit" value="Upload file">
10. </form>
11. <p>
12. <a href="list_files.php">See all files</a>
13. </p>
14.</body>
15.</html>
Now look at the above mentioned code and you can see the third attribute of the <form> element, "enctype". This tells the browser how to send the form data to the server. As it is, when sending files, this require to be set to "multipart/form-data".
In the event that it is set any other way, or not set at all, your file is presumably not going to be transmitted accurately.

Phase 2: Add The File To The Database
As you can see in phase 1, we set the action property to "add_file.php". This is the file we are going to build it this phase of the process.

This file needs to check if a file has been uploaded, ensure that it was uploaded without errors, and add it to the database:

1. <?php
2. // Check if a file has been uploaded
3. if(isset($_FILES[uploaded_file])) {
4. // Make sure the file was sent without errors
5. if($_FILES[uploaded_file][error] == 0) {
6. // Connect to the database
7. $dbLink = new mysqli(127.0.0.1, user, pwd, myTable);
8. if(mysqli_connect_errno()) {
9. die("MySQL connection failed: ". mysqli_connect_error());
10. }
11.
12. // Gather all required data
13. $name = $dbLink->real_escape_string($_FILES[uploaded_file] [name]);
14. $mime = $dbLink->real_escape_string($_FILES[uploaded_file] [type]);
15.$data=$dbLink->real_escape_string(file_get_contents($_FILES [uploaded_file][tmp_name]));
16. $size = intval($_FILES[uploaded_file][size]);
17.
18. // Create the SQL query
19. $query = "
20. INSERT INTO `file` (
21. `name`, `mime`, `size`, `data`, `created`
22. )
23. VALUES (
24. {$name}, {$mime}, {$size}, {$data}, NOW()
25. )";
26.
27. // Execute the query
28. $result = $dbLink->query($query);
29.
30. // Check if it was successful
31. if($result) {
32. echo Success! Your file was successfully added!;
33. }
34. else {
35. echo Error! Failed to insert the file
36. . "<pre>{$dbLink->error}</pre>";
37. }
38. }
39. else {
40. echo An error occurred while the file was being uploaded.
41. . Error code: . intval($_FILES[uploaded_file] [error]);
42. }
43.
44. // Close the mysql connection
45. $dbLink->close();
46. }Now, using this summary as a guide, lets start writing our program.

Phase 3: Listing All Existing Files
So, now that here is few of files in our database, we have to make a list of files and link them so they can be downloaded:

1. <?php
2. // Connect to the database
3. $dbLink = new mysqli(127.0.0.1, user, pwd, myTable);
4. if(mysqli_connect_errno()) {
5. die("MySQL connection failed: ". mysqli_connect_error());
6. }
7.
8. // Query for a list of all existing files
9. $sql = SELECT `id`, `name`, `mime`, `size`, `created` FROM `file `;
10.$result = $dbLink->query($sql);
11.
12.// Check if it was successful
13.if($result) {
14. // Make sure there are some files in there
15. if($result->num_rows == 0) {
16. echo <p>There are no files in the database</p>;
17. }
18. else {
19. // Print the top of a table
20. echo <table width="100%">
21. <tr>
22. <td><b>Name</b></td>
23. <td><b>Mime</b></td>
24. <td><b>Size (bytes)</b></td>
25. <td><b>Created</b></td>
26. <td><b>&nbsp;</b></td>
27. </tr>;
28.
29. // Print each file
30. while($row = $result->fetch_assoc()) {
31. echo "
32. <tr>
33. <td>{$row[name]}</td>
34. <td>{$row[mime]}</td>
35. <td>{$row[size]}</td>
36. <td>{$row[created]}</td>
37. <td><a href=get_file.php? id={$row[id]}>Download</a></td>
38. </tr>";
39. }
40.
41. // Close table
42. echo </table>;
43. }
44.
45. // Free the result
46. $result->free();
47.}
48.else
49.{
50. echo Error! SQL query failed:;
51. echo "<pre>{$dbLink->error}</pre>";
52.}
53.
54.// Close the mysql connection
55.$dbLink->close();
56.?>

Phase 4: Downloading A File
To truly see how this functions, you should see how your browser downloads documents. When a browser asks for a file from an HTTP server, the server reaction will incorporate information on what precisely it contains. These bits of information are called headers. The headers ordinarily incorporate information on the sort of data being sent, the size of the reaction, and in case of files, the name of the file.

Now, this code. We begin simply by reading the ID sent by the link in phase 3. If the ID is valid, we fetch the information on the file whose ID we received, send the headers, and finally send the file data:

1. <?php
2. // Make sure an ID was passed
3. if(isset($_GET[id])) {
4. // Get the ID
5. $id = intval($_GET[id]);
6.
7. // Make sure the ID is in fact a valid ID
8. if($id <= 0) {
9. die(The ID is invalid!);
10. }
11. else {
12. // Connect to the database
13. $dbLink = new mysqli(127.0.0.1, user, pwd, myTable );
14. if(mysqli_connect_errno()) {
15. die("MySQL connection failed: ". mysqli_connect_error ());
16. }
17.
18. // Fetch the file information
19. $query = "
20. SELECT `mime`, `name`, `size`, `data`
21. FROM `file`
22. WHERE `id` = {$id}";
23. $result = $dbLink->query($query);
24.
25. if($result) {
26. // Make sure the result is valid
27. if($result->num_rows == 1) {
28. // Get the row
29. $row = mysqli_fetch_assoc($result);
30.
31. // Print headers
32. header("Content-Type: ". $row[mime]);
33. header("Content-Length: ". $row[size]);
34. header("Content-Disposition: attachment; filename =". $row[name]);
35.
36. // Print data
37. echo $row[data];
38. }
39. else {
40. echo Error! No image exists with that ID.;
41. }
42.
43. // Free the mysqli resources
44. @mysqli_free_result($result);
45. }
46. else {
47. echo "Error! Query failed: <pre>{$dbLink- >error}</pre>";
48. }
49. @mysqli_close($dbLink);
50. }
51.}
52.else {
53. echo Error! No ID was passed.;
54.}
55.?>

Final Words
So, you can see file uploading process is not complex as we think. Simply think about the above-mentioned steps, and you can easily upload any kind of file in Mysql database using PHP.

Author bio: Morris Edwards is Web developer & Marketing strategist at Awebstar - A leading  web design & development company in singapore. They have built over 400+ Professional & ecommerce websites for their worldwide clients.