2012-04-20 25 views
2

我已经厌倦了几次上传图像到rackspace云使用PHP和修改它与另一个图像。但是在将第二张图像上传到同一个对象并替换它之后,它显示了第一幅图像。Rackspace云:修改容器的图像和清除缓存

这是我做的第一个脚本:

<?php 
$images = $conn->get_container('title'); 
$obj  = $images->create_object('sample_test1'); 
$file_name = $_SERVER['DOCUMENT_ROOT'] . '/cloudfiles/images/1308.jpg'; 
$obj->load_from_filename($file_name); 
echo $obj->public_uri(); 
?> 

第二个脚本修改sample_test1对象:

<?php 
$images = $conn->get_container('title'); 
$obj  = $images->get_object('sample_test1'); 
$file_name = $_SERVER['DOCUMENT_ROOT'] . '/cloudfiles/images/2000.jpg'; 
$obj->load_from_filename($file_name); 
echo $obj->public_uri(); 
?> 

当我检查浏览器的打印网址,却总是显示第一个图像,我uploaed。不是第二个。

+0

我想它会被缓存?如果你在浏览器中按Ctrl + F5怎么办? – matiu 2012-04-23 01:09:28

+0

对不起,我试了。但没有运气。 cdn保持缓存直到TTL到期。 – mohanwiki 2012-04-23 08:23:24

回答

2

我有一个解决方案。 CDN将保持图像缓存直到TTL过期。所以你会在大约一天后看到你上传的第二张图片(当你的TTL过期时)。你必须保留一个图像对象与时间戳或什么。并删除第一个上传的图像。