<div class="bottomcontainerBox" style="border:1px solid #808080;background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fshabeebk.com%2Fblog%2Fforce-download-file-php%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:85px; height:21px;"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://shabeebk.com/blog/force-download-file-php/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://shabeebk.com/blog/force-download-file-php/"  data-text="Force download file php" data-count="horizontal"></a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://shabeebk.com/blog/force-download-file-php/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://shabeebk.com/blog/force-download-file-php/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div>{"id":109,"date":"2014-08-06T21:14:52","date_gmt":"2014-08-06T21:14:52","guid":{"rendered":"http:\/\/shabeebk.com\/blog\/?p=109"},"modified":"2014-12-21T11:25:34","modified_gmt":"2014-12-21T11:25:34","slug":"force-download-file-php","status":"publish","type":"post","link":"http:\/\/shabeebk.com\/blog\/force-download-file-php\/","title":{"rendered":"Force download file php"},"content":{"rendered":"<p><br \/>\nHi,<\/p>\n<p>Today we are going to learn about force downloading prompt in PHP.<\/p>\n<p>While i am doing my projects, i had a requirement for file download, File type will be changed, So i made a research on this and made simple  useful script which can be use any where to prompt download by giving path and file name . Let us create a function download_file and pass full file path and filename , we can use third argument to mention the MIME Type of file<\/p>\n<pre class=\"lang:default decode:true\" title=\"php force download files\">download_file($sourceFile, $fileName, $mime_type = '') \r\n\r\n<\/pre>\n<p>Next we can check whether we have permission to read the file.if not it will return 404 error<\/p>\n<pre class=\"lang:default decode:true\" title=\"php force download files\"> if (!is_readable($sourceFile)) {\r\n        header(\"HTTP\/1.1 404 Not Found\");\r\n        return;\r\n    }<\/pre>\n<p>Now we are going to create an array of  list of mime types. so we can compare with this array and set  correct header content type<\/p>\n<pre class=\"lang:default decode:true \" title=\"php force download files\"> $mime_types_list = array(\r\n        \"gif\" =&gt; \"image\/gif\",\r\n        \"png\" =&gt; \"image\/png\",\r\n        \"jpeg\" =&gt; \"image\/jpg\",\r\n        \"jpg\" =&gt; \"image\/jpg\",\r\n        \"pdf\" =&gt; \"application\/pdf\",\r\n        \"csv\" =&gt; \"application\/csv\",\r\n        \"txt\" =&gt; \"text\/plain\",\r\n        \"html\" =&gt; \"text\/html\",\r\n        \"htm\" =&gt; \"text\/html\",\r\n        \"exe\" =&gt; \"application\/octet-stream\",\r\n        \"zip\" =&gt; \"application\/zip\",\r\n        \"doc\" =&gt; \"application\/msword\",\r\n        \"xls\" =&gt; \"application\/vnd.ms-excel\",\r\n        \"ppt\" =&gt; \"application\/vnd.ms-powerpoint\",\r\n        \"php\" =&gt; \"text\/plain\"\r\n    );\r\n<\/pre>\n<p>Next we are going to set mime type if we already pass the MIME type into function it will take that MIME ,else we are going to use a function pathinfo to retrieve the extension of file and we will compare with already created array to get content type<\/p>\n<pre class=\"lang:default decode:true\" title=\"php force download files\"> $path_parts = pathinfo($sourceFile); \/\/pathinfo \r\n\r\n\r\n\r\n    if ($mime_type == '') {\r\n\r\n        $file_extension = $path_parts['extension'];\r\n        if (array_key_exists($file_extension, $mime_types_list)) {\r\n            $mime_type = $mime_types_list[$file_extension];\r\n        } else {\r\n            $mime_type = \"application\/force-download\";\r\n        };\r\n    };<\/pre>\n<p>After that we will clean and start  the output buffer<\/p>\n<pre class=\"lang:default decode:true\" title=\"php force download files\">  @ob_end_clean();<\/pre>\n<p>Then we can set the content type and headers<\/p>\n<pre class=\"lang:default decode:true\" title=\"php force download files\">if (ini_get('zlib.output_compression'))\r\n        ini_set('zlib.output_compression', 'Off');\r\n\r\n    header('Content-Type: ' . $mime_type);\r\n    header('Content-Disposition: attachment; filename=\"' . $fileName . '\"');\r\n    header(\"Content-Transfer-Encoding: binary\");\r\n    header('Accept-Ranges: bytes');\r\n    header(\"Cache-control: private\");\r\n    header('Pragma: private');<\/pre>\n<p>lastly we are going to read each line by line and print that  as shown below.<\/p>\n<pre class=\"lang:default decode:true\" title=\"php force download files\">$chunksize = 1 * (1024 * 1024);\r\n    $bytes_send = 0;\r\n    if ($sourceFile = fopen($sourceFile, 'r')) {\r\n\r\n\r\n        while (!feof($sourceFile) &amp;&amp;\r\n        (!connection_aborted())\r\n        ) {\r\n            $buffer = fread($sourceFile, $chunksize);\r\n            print($buffer); \/\/ is also possible\r\n            flush();\r\n        }\r\n        fclose($sourceFile);\r\n    } else {\r\n        header(\"HTTP\/1.1 505 Internal server error\");\r\n        return;\r\n    }\r\n\r\n<\/pre>\n<p>That is it  !!!!!   Now we can have a look, How we can read the file using created function We can make a path file and the name we want to give while downloading and pass to function . It will download prompt for file. example for reading file and download prompt<\/p>\n<pre class=\"lang:default decode:true\" title=\"php force download files\">$filepath = 'sample.pdf';\r\n$filename = 'sample.pdf';\r\n\r\ndownload_file($filepath, $filename);\r\nexit;\r\n?&gt;\r\n\r\n<\/pre>\n<p>Full code<\/p>\n<pre class=\"lang:default decode:true\" title=\"php force download files\">&lt;?php\r\n\r\n\/**\r\n * function to download a file from server\r\n * \r\n * list all the values in grid\r\n * \r\n * @auther Shabeeb  &lt;me@blog.shabeebk.com &gt;\r\n * @createdon   : 06-08-2014\r\n * @\r\n * \r\n * @param source $sourceFile : file pathe \r\n * @param source $fileName : file name for download \r\n * @param source $mime_type : MIME type optional field\r\n * @return type\r\n * exceptions\r\n * \r\n * \r\n *\/\r\nfunction download_file($sourceFile, $fileName, $mime_type = '') {\r\n\r\n    if (!is_readable($sourceFile)) {\r\n        header(\"HTTP\/1.1 404 Not Found\");\r\n        return;\r\n    }\r\n\r\n    $size = filesize($sourceFile);\r\n    $fileName = rawurldecode($fileName);\r\n\r\n\r\n    $mime_types_list = array(\r\n        \"gif\" =&gt; \"image\/gif\",\r\n        \"png\" =&gt; \"image\/png\",\r\n        \"jpeg\" =&gt; \"image\/jpg\",\r\n        \"jpg\" =&gt; \"image\/jpg\",\r\n        \"pdf\" =&gt; \"application\/pdf\",\r\n        \"csv\" =&gt; \"application\/csv\",\r\n        \"txt\" =&gt; \"text\/plain\",\r\n        \"html\" =&gt; \"text\/html\",\r\n        \"htm\" =&gt; \"text\/html\",\r\n        \"exe\" =&gt; \"application\/octet-stream\",\r\n        \"zip\" =&gt; \"application\/zip\",\r\n        \"doc\" =&gt; \"application\/msword\",\r\n        \"xls\" =&gt; \"application\/vnd.ms-excel\",\r\n        \"ppt\" =&gt; \"application\/vnd.ms-powerpoint\",\r\n        \"php\" =&gt; \"text\/plain\"\r\n    );\r\n\r\n    $path_parts = pathinfo($sourceFile); \/\/pathinfo \r\n\r\n\r\n\r\n    if ($mime_type == '') {\r\n\r\n        $file_extension = $path_parts['extension'];\r\n        if (array_key_exists($file_extension, $mime_types_list)) {\r\n            $mime_type = $mime_types_list[$file_extension];\r\n        } else {\r\n            $mime_type = \"application\/force-download\";\r\n        };\r\n    };\r\n\r\n    @ob_end_clean();\r\n\r\n    \/\/ if IE, otherwise Content-Disposition ignored\r\n    if (ini_get('zlib.output_compression'))\r\n        ini_set('zlib.output_compression', 'Off');\r\n\r\n    header('Content-Type: ' . $mime_type);\r\n    header('Content-Disposition: attachment; filename=\"' . $fileName . '\"');\r\n    header(\"Content-Transfer-Encoding: binary\");\r\n    header('Accept-Ranges: bytes');\r\n    header(\"Cache-control: private\");\r\n    header('Pragma: private');\r\n\r\n\r\n    $chunksize = 1 * (1024 * 1024);\r\n    $bytes_send = 0;\r\n    if ($sourceFile = fopen($sourceFile, 'r')) {\r\n\r\n\r\n        while (!feof($sourceFile) &amp;&amp;\r\n        (!connection_aborted())\r\n        ) {\r\n            $buffer = fread($sourceFile, $chunksize);\r\n            print($buffer); \/\/ is also possible\r\n            flush();\r\n        }\r\n        fclose($sourceFile);\r\n    } else {\r\n        header(\"HTTP\/1.1 505 Internal server error\");\r\n        return;\r\n    }\r\n\r\n    die();\r\n}\r\n\r\n$filepath = 'sample.pdf';\r\n$filename = 'sample.pdf';\r\n\r\ndownload_file($filepath, $filename);\r\nexit;\r\n?&gt;\r\n<\/pre>\n<p>Download the source<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"109\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;6,163&nbsp;total views, &nbsp;6&nbsp;views today<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hi, Today we are going to learn about force downloading prompt in PHP. While i am doing my projects, i had a requirement for file download, File type will be changed, So i made a research on this and made simple useful script which can be use any where to prompt download by giving path [&hellip;]<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"109\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;6,163&nbsp;total views, &nbsp;6&nbsp;views today<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[8,7,1],"tags":[11,10,9],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.4.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>shabeebk blog - Force download file php<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/shabeebk.com\/blog\/force-download-file-php\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"shabeebk blog - Force download file php\" \/>\n<meta property=\"og:description\" content=\"Hi, Today we are going to learn about force downloading prompt in PHP. While i am doing my projects, i had a requirement for file download, File type will be changed, So i made a research on this and made simple useful script which can be use any where to prompt download by giving path [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/shabeebk.com\/blog\/force-download-file-php\/\" \/>\n<meta property=\"og:site_name\" content=\"shabeeb Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-08-06T21:14:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-12-21T11:25:34+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"shabeeb\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/shabeebk.com\/blog\/#website\",\"url\":\"http:\/\/shabeebk.com\/blog\/\",\"name\":\"shabeeb Blog\",\"description\":\"A developer blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/shabeebk.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/shabeebk.com\/blog\/force-download-file-php\/#webpage\",\"url\":\"http:\/\/shabeebk.com\/blog\/force-download-file-php\/\",\"name\":\"shabeebk blog - Force download file php\",\"isPartOf\":{\"@id\":\"http:\/\/shabeebk.com\/blog\/#website\"},\"datePublished\":\"2014-08-06T21:14:52+00:00\",\"dateModified\":\"2014-12-21T11:25:34+00:00\",\"author\":{\"@id\":\"http:\/\/shabeebk.com\/blog\/#\/schema\/person\/71832abe654179971635c65c09bceb29\"},\"breadcrumb\":{\"@id\":\"http:\/\/shabeebk.com\/blog\/force-download-file-php\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/shabeebk.com\/blog\/force-download-file-php\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/shabeebk.com\/blog\/force-download-file-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/shabeebk.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Force download file php\"}]},{\"@type\":\"Person\",\"@id\":\"http:\/\/shabeebk.com\/blog\/#\/schema\/person\/71832abe654179971635c65c09bceb29\",\"name\":\"shabeeb\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/shabeebk.com\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/9998389cc76a77663881c48f7d4cbba0?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/9998389cc76a77663881c48f7d4cbba0?s=96&d=mm&r=g\",\"caption\":\"shabeeb\"},\"description\":\"Developer,Entrepreneur, software engineer more than that a human being\",\"sameAs\":[\"http:\/\/shabeebk.com\/blog\"],\"url\":\"http:\/\/shabeebk.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"shabeebk blog - Force download file php","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/shabeebk.com\/blog\/force-download-file-php\/","og_locale":"en_US","og_type":"article","og_title":"shabeebk blog - Force download file php","og_description":"Hi, Today we are going to learn about force downloading prompt in PHP. While i am doing my projects, i had a requirement for file download, File type will be changed, So i made a research on this and made simple useful script which can be use any where to prompt download by giving path [&hellip;]","og_url":"http:\/\/shabeebk.com\/blog\/force-download-file-php\/","og_site_name":"shabeeb Blog","article_published_time":"2014-08-06T21:14:52+00:00","article_modified_time":"2014-12-21T11:25:34+00:00","twitter_misc":{"Written by":"shabeeb","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"http:\/\/shabeebk.com\/blog\/#website","url":"http:\/\/shabeebk.com\/blog\/","name":"shabeeb Blog","description":"A developer blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/shabeebk.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/shabeebk.com\/blog\/force-download-file-php\/#webpage","url":"http:\/\/shabeebk.com\/blog\/force-download-file-php\/","name":"shabeebk blog - Force download file php","isPartOf":{"@id":"http:\/\/shabeebk.com\/blog\/#website"},"datePublished":"2014-08-06T21:14:52+00:00","dateModified":"2014-12-21T11:25:34+00:00","author":{"@id":"http:\/\/shabeebk.com\/blog\/#\/schema\/person\/71832abe654179971635c65c09bceb29"},"breadcrumb":{"@id":"http:\/\/shabeebk.com\/blog\/force-download-file-php\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/shabeebk.com\/blog\/force-download-file-php\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/shabeebk.com\/blog\/force-download-file-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/shabeebk.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Force download file php"}]},{"@type":"Person","@id":"http:\/\/shabeebk.com\/blog\/#\/schema\/person\/71832abe654179971635c65c09bceb29","name":"shabeeb","image":{"@type":"ImageObject","@id":"http:\/\/shabeebk.com\/blog\/#personlogo","inLanguage":"en-US","url":"http:\/\/0.gravatar.com\/avatar\/9998389cc76a77663881c48f7d4cbba0?s=96&d=mm&r=g","contentUrl":"http:\/\/0.gravatar.com\/avatar\/9998389cc76a77663881c48f7d4cbba0?s=96&d=mm&r=g","caption":"shabeeb"},"description":"Developer,Entrepreneur, software engineer more than that a human being","sameAs":["http:\/\/shabeebk.com\/blog"],"url":"http:\/\/shabeebk.com\/blog\/author\/admin\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/posts\/109"}],"collection":[{"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/comments?post=109"}],"version-history":[{"count":2,"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/posts\/109\/revisions"}],"predecessor-version":[{"id":208,"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/posts\/109\/revisions\/208"}],"wp:attachment":[{"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/media?parent=109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/categories?post=109"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/shabeebk.com\/blog\/wp-json\/wp\/v2\/tags?post=109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}