2012-04-20 76 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過期時)。你必須保留一個圖像對象與時間戳或什麼。並刪除第一個上傳的圖像。