I'm trying to build a REST API in PHP. My API needs to be able to upload files and get user information via the $_POST method. Any body that can help me to create a REST API and also helps me to find out what components I need for creating an API.
<?php header("content-type:application/json"); $userid=$_POST['user_id']; $email=$_POST['email']; $fname=$_POST['firstname']; $lname=$_POST['lastname']; // include db connect class require_once __DIR__ . '/db_connect.php'; // connecting to db $db = new DB_CONNECT(); //$result=mysql_query("select * form user"); $sql="UPDATE user SET email='$email',fname='$fname',lname='$lname' WHERE userid='$userid'"; $result = mysql_query($sql); if ($result) { // successfully inserted into database $response["code"] = 1; $response["message"] = "successfully updated"; // echoing JSON response echo json_encode($response); } else { // failed to insert row $response["code"] = 2; $response["message"] = "Oops! failed to insert data"; // echoing JSON response echo json_encode($response); } //file uploading if (empty($_FILES) || $_FILES['file']['error']) { //die('{"OK": 0, "info": "Failed to move uploaded file."}'); $response["code"] = 2; $response["message"] = "Oops! An File uploading error occurred."; echo json_encode($response); } $chunk = isset($_REQUEST["chunk"]) ? intval($_REQUEST["chunk"]) : 0; $chunks = isset($_REQUEST["chunks"]) ? intval($_REQUEST["chunks"]) : 0; $fileName = isset($_REQUEST["name"]) ? $_REQUEST["name"] : $_FILES["file"]["name"]; $filePath = "uploads/$fileName"; // Open temp file $out = @fopen("{$filePath}.part", $chunk == 0 ? "wb" : "ab"); if ($out) { // Read binary input stream and append it to temp file $in = @fopen($_FILES['file']['tmp_name'], "rb"); if ($in) { while ($buff = fread($in, 4096)) fwrite($out, $buff); //print($out); // echo sizeof($out); } else // die('{"OK": 0, "info": "Failed to open input stream."}'); $response["code"] = 2; $response["message"] = "Oops! Failed to open input Stream error occurred."; echo json_encode($response); @fclose($in); @fclose($out); @unlink($_FILES['file']['tmp_name']); } else{ // die('{"OK": 0, "info": "Failed to open output stream."}'); $response["code"] = 2; $response["message"] = "Oops! Failed to open output error occurred."; echo json_encode($response); } // Check if file has been uploaded if (!$chunks || $chunk == $chunks - 1) { // Strip the temp .part suffix off rename("{$filePath}.part", $filePath); } //die('{"OK": 1, "info": "Upload successful."}'); $response["code"] = 0; $response["userid"]=$_POST['user_id']; $response["email"]=$_POST['email']; $response["firstname"]=$_POST['firstname']; $response["lastname"]=$_POST['lastname']; //$resopnse["file"]=$_POST['file']; $response["message"] = "Required field(s) is missing"; // echoing JSON response echo json_encode($response); ?> This my .htaccess code
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ %{ENV:BASE} index.php [QSA,L]