2011-04-19 19 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; 
}