input('upload', 'upload/'); // 请求有效期(30秒), 超过时间将无法上传文件 $expire = 30; $end = time() + $expire; // 文件大小(1000MB), 超过将无法上传文件 $max = 1048576000; $arr = [ 'expiration' => str_replace('+00:00', '.000Z', gmdate('c', $end)), 'conditions' => [ ['content-length-range', 0, $max], ['starts-with', '$key', $dir] ] ]; $policy = json_encode($arr); $base64_policy = base64_encode($policy); $string_to_sign = $base64_policy; $signature = base64_encode(hash_hmac('sha1', $string_to_sign, $key, true)); $data = [ 'accessid' => $id, 'host' => $host, 'policy' => $base64_policy, 'signature' => $signature, 'expire' => $end, 'dir' => $dir, 'url' => $url, ]; return $this->json($data); } }