NW_love/api/album/add.php
2023-02-03 10:31:07 +08:00

114 lines
4.1 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* nw_love API
* @copyright 2022-2023 ZCW and YN. All Rights Reserved.
*/
/**
* @var mysqli $SqlConn 数据库链接信息
* @var array $config 设置相关的数据
*/
require_once $_SERVER['DOCUMENT_ROOT'].'/Aliyun/aliyun-oss-php-sdk-2.6.0.phar';
require_once $_SERVER['DOCUMENT_ROOT'].'/Aliyun/autoload.php';
use OSS\OssClient;
use OSS\Core\OssException;
// 载入前置组件
include $_SERVER['DOCUMENT_ROOT'] . "/api/api-loader.php";
// 载入类
require_once $_SERVER['DOCUMENT_ROOT'] . '/api/modules/ApiFunction.php';
$AFT = new ApiFunction();
// 获取参数
// POST
$PostData = file_get_contents('php://input');
$PostData = json_decode($PostData,true);
// 逻辑搭建
if ($AFT->Get_Session($PostData['ssid'])) {
if (preg_match('/^[\一-\龥A-Za-z0-9_]{2,40}$/',$PostData['name'])) {
if (preg_match('/^\d{4}-\d{1,2}-\d{1,2}/',$PostData['date'])) {
if (preg_match('/[0-1]/',$PostData['open'])) {
// 上传数据
if (mysqli_query($SqlConn,"INSERT INTO ".$config['TABLE']['AlbumList']." (`name`,`date`,`open`) VALUES ('".$PostData['name']."','".$PostData['date']."','".$PostData['open']."')")) {
$Result = mysqli_query($SqlConn,"SELECT * FROM ".$config['TABLE']['AlbumList']." ORDER BY id DESC");
$Result_Object = mysqli_fetch_object($Result);
$accessKeyId = $config['Aliyun']['AccessKeyID'];
$accessKeySecret = $config['Aliyun']['AccessKeySecret'];
// Endpoint以华东1杭州为例其它Region请按实际情况填写。
$endpoint = "https://oss-cn-shenzhen-internal.aliyuncs.com";
// 填写Bucket名称。
$bucket= "nw-love";
// 填写不包含Bucket名称在内的Object的完整路径。
$object = "Upload/".$Result_Object->id."/";
$content = "";
try{
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->putObject($bucket, $object, $content);
} catch(OssException $e) {
// 输出结果
$data = [
'output' => 'UPLOAD_ALIYUN_FAIL',
'code' => 403,
'info' => '参数 Sql[Upload_Fail] 缺失/错误',
];
header('HTTP/1.1 403 Forbidden');
return;
}
// 输出结果
$data = [
'output' => 'SUCCESS',
'code' => 200,
'info' => '新建好了',
];
} else {
// 输出结果
$data = [
'output' => 'UPLOAD_FAIL',
'code' => 403,
'info' => '参数 Sql[Upload_Fail] 缺失/错误',
];
header('HTTP/1.1 403 Forbidden');
}
} else {
// 输出结果
$data = [
'output' => 'OPEN_FALSE',
'code' => 403,
'info' => '参数错误',
];
header('HTTP/1.1 403 Forbidden');
}
} else {
// 输出结果
$data = [
'output' => 'DATE_FALSE',
'code' => 403,
'info' => '参数错误',
];
header('HTTP/1.1 403 Forbidden');
}
} else {
// 输出结果
$data = [
'output' => 'NAME_FALSE',
'code' => 403,
'info' => '参数错误',
];
header('HTTP/1.1 403 Forbidden');
}
} else {
// 输出结果
$data = [
'output' => 'SESSION_DENY',
'code' => 403,
'info' => '参数 Post[session] 缺失/错误',
];
header('HTTP/1.1 403 Forbidden');
}
echo json_encode($data, JSON_UNESCAPED_UNICODE);