Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 594
  • Last Modified:

Clear the cache in PHP

Is there any way to clear cache in PHP? I have tried following codes. But they did not worked for me.

1)
    header("Cache-Control: post-check=0, pre-check=0",false);
     session_cache_limiter("must-revalidate");

2)
Header("Cache-control: private, no-cache");
Header("Expires: Mon, 26 Jun 1997 05:00:00 GMT");
Header("Pragma: no-cache");
header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT");

3)
<META http-equiv="expires" content="0">

and   4)
// calc an offset of 24 hours
  $offset = 3600 * 24;      
// calc the string in GMT not localtime and add the offset
  $expire = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
//output the HTTP header
  Header($expire);

Please help me. Thanking in advance.

0
Web_Sight
Asked:
Web_Sight
  • 6
  • 5
1 Solution
 
TeRReFCommented:
I use this set of headers which work for me:

        header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
        header( "Last-Modified: ".gmdate( "D, d M Y H:i:s" )."GMT" );
        header( "Cache-Control: no-cache, must-revalidate" );
        header( "Pragma: no-cache" );
0
 
Web_SightAuthor Commented:
I used this.  But it did not work for me.
0
 
TeRReFCommented:
What are you trying to prevent from caching? Is there a proxy involved? The above headers should prevent caching for all major browsers...
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
Web_SightAuthor Commented:
My code is embedding one image into another image.  I am not getting the result properly. But the image in the source folder is the latest one.  If I refresh the page, then it is displays the correct image.I am using proxy.

Further Explanation.
page1.php contains a main image and 3 other images which can drag over the main image.  I have dragged one image and place it over the main image.  The click on next button will lead to the control to the action page (page2.php) where actual emedding occurs. Then the result page (page3.php) displays.
page3.php displays the correct image on first time.  But when I go to page1.php and then embed a second image in the main image, then click 'Next' it displays only  the old image on page3.php.  If Iclick the refresh button, page3.php will display the correct image.
0
 
TeRReFCommented:
Your situation might require a different approach. A well known 'trick' is to add a unique part to the URL by generating an extra parameter. This will fool the browser, proxy, etc. in that for them it will be a different URL.

It works like this, Add something like this to the URL's that are clicked on/ redirected to:
$url = 'http://your/url/your_page.php?rnd='.time();

0
 
Web_SightAuthor Commented:
Still the problem exists. But this worked for a webpage where problem arise from macromedia flash. But it is not worked for my above issue.
0
 
TeRReFCommented:
DO you save the new image after embedding and then load it again in page3.php? Can you post your display code from page3.php?
0
 
Web_SightAuthor Commented:
Yes, new image is saving.
If I right click the property and take the URL of the image and paste it to a new browser window, I am getting the latest image.
0
 
TeRReFCommented:
Good. Well, you can use the same trick with images. Just pass a dummy parameter to the image URL and it should work:

echo '<img src="http://your/url/your_image.gif?rnd='.time().'">';
0
 
Web_SightAuthor Commented:
THANK YOU. VERY MUCH. I have passed dummy parameters to the image URL and now it. is working nicely.
0
 
TeRReFCommented:
You're welcome :)
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now