0

我想做这样的事情,但我不知道如何:

$file="4"
$pic="../pics/$file.jpg";
$sound="../sounds/$file.mp3";

我也会做这样的事情

$nextpic="../pics/$file+1.jpg";
4

4 回答 4

2

如果你的文件是一个数字,无论它是一个字符串还是什么,PHP 都会这样对待它。所以你可以这样做:

$nextpic = "../pics/".($file+1).".jpg";

顺便说一句,PHP 的一个怪癖是它如何处理带有数字的字符串。例如,如果你有一个文件“123lolz.jpg”并且你增加它,你会得到不需要的结果。愚蠢的东西...

$file = "123lolz.jpg";
echo ($file+1)."\n"; // you get 124 and the rest of the file is discarded 
于 2012-05-17T15:53:31.427 回答
2

第一个代码部分很好。

第二个应该是这样的:

$nextpic="../pics/" . ($file+1) . ".jpg";

或者像这样

$next_file = $file + 1;
$nextpic="../pics/$next_file.jpg";
于 2012-05-17T15:53:45.577 回答
0

试试这个:

$nextpic="../pics/" . ($file+1) . ".jpg";

由于您要添加一些内容,因此您需要将其作为变量替换操作符在字符串中不起作用。

于 2012-05-17T15:53:58.133 回答
0

PHP.net 有关于何时/如何将变量替换为字符串中的值的完整文档。特别是在这些情况下:

$file="4"
$pic="../pics/$file.jpg";
$sound="../sounds/$file.mp3";

这将产生$pic = "../pics/4.jpg"$sound="../sounds/4.mp3"

$nextpic="../pics/$file+1.jpg";

那将产生$nextpic="../pics/4+1.jpg". 如果你想要 5.jpg 使用这个:

$nextpic="../pics/".($file+1).".jpg";
于 2012-05-17T15:55:12.503 回答