Latest Post
Tampilkan postingan dengan label retrieve. Tampilkan semua postingan
Tampilkan postingan dengan label retrieve. Tampilkan semua postingan

Simple PHP Caching and Content Retrieval Function

Written By Unknown on Jumat, 28 Mei 2010 | 22.30

One way to make your website exponentially faster is by caching both remote and internal requests. Why request your RSS subscriber count from FeedBurner more than once a day if that count is calculated once per day? Why hit your database on each page load if that content rarely changes?


 I’ve created a primitive request-and-cache function for PHP that checks for fresh content in the cache and retrieves content from a source if fresh content isn’t available.


/* gets the contents of a file if it exists, otherwise grabs and caches */
function get_content($file,$url,$hours = 24,$fn = '',$fn_args = '') {
//vars
$current_time = time(); $expire_time = $hours * 60 * 60; $file_time = filemtime($file);
//decisions, decisions
if(file_exists($file) && ($current_time - $expire_time < $file_time)) {
//echo 'returning from cached file';
return file_get_contents($file);
}
else {
$content = get_url($url);
if($fn) { $content = $fn($content,$fn_args); }
$content.= '';
file_put_contents($file,$content);
//echo 'retrieved fresh from '.$url.':: '.$content;
return $content;
}
}

/* gets content from a URL via curl */
function get_url($url) {
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}


My get_content function accepts four arguments:
  • The file to grab content from. If the file doesn’t exist, the file is created and content placed into.
  • The URL to get content from if cached content isn’t fresh.
  • A function name to pass the freshly received content to.
  • Arguments to pass to the third argument’s function.
The function is, of course, very primitive. I like that my function handles both retrieval and caching so that I don’t need to repeat code whenever I want cached content.

Sample Usage 1


/* usage */
$TWITTER_FOLLOWERS_FILE_NAME = 'twitter-followers.txt';
$TWITTER_FOLLOWERS_URL = 'http://twitter.com/users/show.json?screen_name=davidwalshblog';

$TWITTER_FOLLOWERS = get_content($TWITTER_FOLLOWERS_FILE_NAME,$TWITTER_FOLLOWERS_URL,3,'format_followers',array('file'=>$TWITTER_FOLLOWERS_FILE_NAME));
/* utility function */
function format_followers($content,$args) {
$content = json_decode($content);
$twitter_subscribers = $content->{'followers_count'};
if($twitter_subscribers) {
$twitter_subscribers = number_format($twitter_subscribers,0,'',',');
file_put_contents($args['file'],$twitter_subscribers);
return $twitter_subscribers;
}
}

The above code retrieves my Twitter follower count, parses the code, and caches the content for three hours.
There are several more advanced PHP caching classes available but the simple function above covers most of my needs — hopefully it can help you out too!

Retrieving data from the MYSQL database using PHP

Written By Unknown on Rabu, 09 Desember 2009 | 12.43

In mysql, the SELECT command is used to retrieving data from the database.  We can get the single value or a array of values from the database.
The values are getting from the database by using the following code


$output=mysql_query("SELECT * From table_name");


Here all the results are stored in the variable "output"




If we want to retrieve array of values from the above result,  then we use the following code


$output1 = mysql_fetch_array($result);




Example:


$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons");

while($row = mysql_fetch_array($result))
  {
  echo $row['FirstName'] . " " . $row['LastName'];
  echo "
";
  }

mysql_close($con);
 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Kumpulan Kata Broadcast Blackberry - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger