Thinkphp3.2.3 多图上传,同类型只能上传一张问题

21 篇文章 0 订阅

Thinkphp3.2.3 多图上传,同类型只能上传一张问题,
例如一次性上传多张 .jpg 文件,只能上传最后一张,
问题在于,同名,只保存一张,找了很多方法,问题就在于 saveName 上

在 App->Common->Common->function.php 下加入

function guid()
{
    if (function_exists('com_create_guid')) {
        return com_create_guid();
    } else {
        mt_srand((double) microtime() * 10000);
        $charid = strtoupper(md5(uniqid(rand(), true)));
        $hyphen = chr(45);
        $uuid   = chr(123)
        . substr($charid, 0, 8) . $hyphen
        . substr($charid, 8, 4) . $hyphen
        . substr($charid, 12, 4) . $hyphen
        . substr($charid, 16, 4) . $hyphen
        . substr($charid, 20, 12)
        . chr(125);
        return $uuid;
    }
}

再在 upload方法中 saveName = array(‘guid’, ‘’);
完整代码如下

public function upload()
{
    $upload           = new \Think\Upload();
    $upload->maxSize  = 0;
    $upload->exts     = array('jpg', 'gif', 'png', 'jpeg');
    $upload->rootPath = './Public/upload/';
    $upload->savePath = 'thumb/';
    // $now              = $_SERVER['REQUEST_TIME'];
    $upload->saveName = array('guid', '');

    $info = $upload->upload();
    if (!$info) {
        $this->error($upload->getError());
    } else {
        $this->success('上传成功!');
    }
}

前端代码

<form enctype="multipart/form-data" action="__URL__/upload" method="post">
    <input type="file" name="myFile[]" multiple />
    <input type="submit" value="提交">
</form>

上面出来的图片路径是 {5141258E-8008-E064-26EB-4EC6642B71AB} 这样的,我们优化一下,把左右的 大括号去掉,并把中划线改成下划线。

if (function_exists('com_create_guid')) {
    return com_create_guid();
} else {
    mt_srand((double) microtime() * 10000);
    $charid = strtoupper(md5(uniqid(rand(), true)));

    $hyphen = chr(95); //下划线

    $uuid   = substr($charid, 0, 8) . $hyphen
    . substr($charid, 8, 4) . $hyphen
    . substr($charid, 12, 4) . $hyphen
    . substr($charid, 16, 4) . $hyphen
    . substr($charid, 20, 12);

    return $uuid;
}

这样就变成 C4D414B3_D751_173B_BCD9_F8C8CE95C5F5.jpg

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值