以数字顺序重命名上传的图像(i + 1)

时间:2016-08-03 06:20:01

标签: php file-upload

我有一个上传照片的json帖子。它工作得很好。我想在上传文件时更改上传文件的名称。我知道该怎么做。我想在图像类型扩展名之前在文件名末尾添加一个数字。我知道该怎么做。当我一次上传多个图像时,我希望每个新文件的数字增加1。我不能这样做:-(这是我正在使用的:

if (!file_exists($vendimagepath) ) {
    mkdir($vendimagepath,0777,TRUE);         
}

$valid_extensions = array('gif', 'png', 'jpeg', 'jpg');
$uploader = new FileUpload('uploadfile');
// Handle the upload
$result = $uploader->handleUpload($vendimagepath);

if (!$result) {
    exit(json_encode(array('success' => false, 'msg' => $uploader->getErrorMsg())));  
} else {
    echo json_encode(array('success' => true));
    $_SESSION['success']=true;
    $path = $uploader->getFileName();
    $vendimagepath= $vendimagepath.$path;
    $result = $db -> query("INSERT into vendimages (vendregid, vendimagepath)        VALUES ('$vendredig', '$path')");
    $result = $db -> update("UPDATE registervendors  SET  images='1'  WHERE    regid  = '$vendredig' AND username='$vendusername' ");
}

我在顶部$ x = 1的if语句下插入了一个变量;然后在$ uploader = new fileupload下我添加了一个带$ x ++的while循环;并将该结束括号放在脚本的末尾。它没有用。它上传了文件,但它们都以相同的数字结尾(1)。我知道为什么。为每个上传的新文件调用脚本,因此$ x = 1每次重新启动,因此每次$ x ++为1。

1 个答案:

答案 0 :(得分:2)

由于您希望计算页面加载次数,因此应使用$_SESSION。在上传开始设置之前:

$_SESSION['upload_index'] = 1;

每次获得新的上传文件时都要$_SESSION['upload_index']++