Skip to content

Instantly share code, notes, and snippets.

@ScottPhillips
Created July 7, 2012 07:16
Show Gist options
  • Select an option

  • Save ScottPhillips/3065208 to your computer and use it in GitHub Desktop.

Select an option

Save ScottPhillips/3065208 to your computer and use it in GitHub Desktop.
Cache remote image using PHP
<?php
function cache_image($image_url){
//replace with your cache directory
$image_path = 'path/to/cache/dir/';
//get the name of the file
$exploded_image_url = explode("/",$image_url);
$image_filename = end($exploded_image_url);
$exploded_image_filename = explode(".",$image_filename);
$extension = end($exploded_image_filename);
//make sure its an image
if($extension == "gif" || $extension == "jpg" || $extension == "jpeg" || $extension == "png") {
//get the remote image
$image_to_fetch = file_get_contents($image_url);
//save it
$local_image_file = fopen($image_path.$image_filename, 'w+');
chmod($image_path.$image_filename,0755);
fwrite($local_image_file, $image_to_fetch);
fclose($local_image_file);
}
}
//usage
//cache_image(“http://www.flickr.com/someimage.jpg”);
@kressly
Copy link

kressly commented Oct 29, 2020

Thank you but how do we specify the number of days it should be cached ?

@Wastaccus
Copy link

Thanks for your sharing. However, my account image for uno online always occurs error and it does not appear. I don't know why.

@playbasketballstarsonline

basketball stars stands out in part because of its focus on skill. Because winning demands timing, strategy, and accuracy, every game feels competitive and satisfying.

@djgjohn
Copy link

djgjohn commented Jan 29, 2025

Thanks Scott, works nicely.

@securemailpro
Copy link

This article on Rgarrpto was actually helpful. I liked how you covered the key points without overcomplicating things. Keep posting content like this. Rgarrpto

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment