PHP:在上传时在文件名末尾添加数字(计数1)?

时间:2012-12-17 21:32:55

标签: php image upload

我有一个图片上传脚本,我的文件名设置为在上传时保存为'thumb_pic.jpg'。但我希望用户能够上传最多8张不同的照片,名称相同,但我只想在每个文件名的末尾添加1-8,如下所示:

'thumb_pic1.jpg','thumb_pic2.jpg'等。

这是我的代码片段,它是设置文件名的地方。任何人都可以告诉我我需要添加什么来做我想做的事情?感谢。

 $filename = $_POST['value'] ? $_POST['value'] :
            $folder . 'thumb_pic.jpg'; 

2 个答案:

答案 0 :(得分:1)

$filename = .... $folder . 'thumb_pic' . $i . '.jpg';
                                      ^^^^^^^^

其中$ i是您的1-8值。生成它取决于您,因为您没有指定如何构建文件上载表单或服务器端处理脚本。

答案 1 :(得分:0)

来自PHP的在线文档(http://php.net/manual/en/features.file-upload.multiple.php):

  

也可以同时上传多个文件   为您自动组织数组的信息。为此,   您需要在HTML表单中使用相同的数组提交语法   您可以使用多个选择和复选框:

因此,在您的表单中,HTML确保每个图像都具有相同的名称属性,并带有数组括号:

(1)<input name="userfile[]" type="file" />
(2)<input name="userfile[]" type="file" />
...
(8)<input name="userfile[]" type="file" />

然后在后端的PHP代码中执行类似这样的操作(未经测试):

foreach ($_FILES['userfile']['tmp_name'] as $index => $location) {
    $newFileLocation = "{$folder}thumb_pic{($index + 1)}.jpg";
    move_uploaded_file($location, $newFileLocation);
    ...
}