//命名规则
if($SAVETYPE == 'date'){
$key = time().'.'.pathinfo($_FILES[$fieldName]["name"], PATHINFO_EXTENSION);
}else{
$key = $_FILES[$fieldName]['name'];
}
$upfile = array(
'name'=>'file',
'fileName'=>$key,
'fileBody'=>file_get_contents($_FILES[$fieldName]['tmp_name'])
);
$config = array();
$result = $qiniu->upload($config, $upfile);
if(!empty($result['hash'])){
$url = '';
if(htmlspecialchars($_GET['action']) == 'uploadimage'){
if($USEWATER){
$waterBase = urlsafe_base64_encode($WATERIMAGEURL);
$url = $qiniu->downlink($result['key'])."?watermark/1/image/{$waterBase}/dissolve/{$DISSOLVE}/gravity/{$GRAVITY}/dx/{$DX}/dy/{$DY}";
}else{
$url = $qiniu->downlink($result['key']);
}
}else{
$url = $qiniu->downlink($result['key']);
}
/*构建返回数据格式*/
$FileInfo = array(
"state" => "SUCCESS",
"url" => $url,
"title" => $result['key'],
"original" => $_FILES[$fieldName]['name'],
"type" => $_FILES[$fieldName]['type'],
"size" => $_FILES[$fieldName]['size'],
);
/* 返回数据 */
return json_encode($FileInfo);
}
现在上传的网址仅仅是img.123.com/13343234.jpg
如何修改可以实现img.123.com/nian/月日/13343234.jpg
七牛云存储的服务端是一个 key-value 系统,而非树形结构,因此也没有 “目录” 或者 “文件夹” 的概念。
其中,value 是用户上传到七牛云存储的文件,key 是一个用户自定义的字符串,用于在服务端标识这个 value 这个文件。一个 key 对应一个 value,因此,在每个空间(Bucket)中,key 必须是唯一的。
key 中可以包含斜杠 “/”,让你感觉起来像目录结构,比如 “a/b/c/d.txt” 这个 key,在服务端只对应一个文件,但它看起来像 a 目录下的 b 目录下的 c 目录下的文件 d.txt。实际上,服务端是不存在 a、b、c 三个目录的,也没法创建目录。