2011-04-19 20 views
0

我有一些麻煩與PHP。PHP更改價值的結束?

我有一個包含URL的變量$形象,像

$image='http://example.com/image.jpg' 

我想圖像的名稱更改爲這一點,同時不改變網址:

$image='http://example.com/image01.jpg' 
$image='http://example.com/image02.jpg' 
$image='http://example.com/image03.jpg' 
and so on.. 

任何想法我可以做到這一點? 還是應該使用一些Javascript?

回答

4

代碼:

$link = 'http://example.com/image.jpg'; 
for($i=1;$i<=3;$i++) { 
    $array[] = str_replace('.jpg',sprintf("%02d",$i).'.jpg',$link); 
} 
print_r($array); 

結果:

Array 
(
    [0] => http://example.com/image01.jpg 
    [1] => http://example.com/image02.jpg 
    [2] => http://example.com/image03.jpg 
) 

編輯

這工作延伸不管:

$link = 'http://example.com/image.png'; 
for($i=1;$i<=3;$i++) { 
    $array[] = substr_replace($link,sprintf("%02d",$i),strripos($link,'.'),0); 
} 
print_r($array); 

結果:

Array 
(
    [0] => http://example.com/image01.png 
    [1] => http://example.com/image02.png 
    [2] => http://example.com/image03.png 
) 
+0

是不應該要慢一些執行'substr_replace'和'strripos'每個循環,而不是一個爲所有然後使用純字符串連接? – neurino 2011-04-19 09:44:45

+0

基準做50.000循環沒有'print_r'或'echo':我的代碼在0.0676秒內執行,你的代碼在0.0527秒內執行。緩存的確速度更快,但差異並不明顯。 – Anne 2011-04-19 10:00:54

+0

謝謝,作品像一個魅力! – grosseskino 2011-04-19 10:51:13

0

這會前的最後.添加編號爲準$image文件擴展名

$image = 'http://example.com/image.jpg'; 

$pos = strripos($image, '.'); 
$head = substr($image, 0, $pos); 
$tail = substr($image, $pos); 

for($i=1; $i<=3; $i++) { 
    $image = $head.sprintf("%02d", $i).$tail; 
}