图像上传并使用多个副本/名称保存



如何上传图像,然后使用不同的名称和多个副本保存在同一目录中?

上传图像的一个副本(abcd.jpg)需要命名为"212_1_today_00.jpg",另一个副本需要命名为"424_1_today_00.jpg",并且可能是另一个"848_1_today_01.jpg"

最好使用time()而不是今天,因为随机的no可能会在某个时候重复......

<?php
if($_FILES){
    $image = $_FILES['image'];
    if($image['error'] == 0){
        $a = explode('.',$image['name']);
        $e = end($a);
        $t = time();
        $name = rand(100, 999)."_1_{$t}";
        move_uploaded_file($image['tmp_name'], $name.'_00.'.$e);
        # if u want 1 copy
        copy($name.'_00.'.$e, rand(100, 999)."_1_{$t}_01.{$e}");
        # if u want n more copies
        /*
        $n = 5; #no of copies u want
        for ($i = 1; $i <= $n; $i++) {
            copy($name.'_00.'.$e, rand(100, 999)."_1_{$t}_0{$i}.{$e}");
        }
        */
        echo 'Done';
    }
}
?>
<form method="post" enctype="multipart/form-data">
    <input type="file" name="image" accept='image/*'/>
    <input type="submit">
</form>

首先,我上传了一个名为"212_1_today_00.jpg"的,然后我使用 PHP 函数 - copy
进行复制在 http://www.php.net/manual/en/function.copy.php 找到

<?php
$file = './myfolder/212_1_today_00.jpg';
$newfile = './myfolder/424_1_today_00.jpg';
if (!copy($file, $newfile)) {
    echo "failed to copy $file...n";
}

相关内容

最新更新