NW_love/plugins/album_add.php
2023-02-03 10:31:07 +08:00

73 lines
3.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
include_once $_SERVER['DOCUMENT_ROOT'].'/modules/header-loader.php';
include_once $_SERVER['DOCUMENT_ROOT']."/plugins/SqlConn.php";
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;
/**
* @var array $data 数据
* @var array $config setting
* @var mysqli $SqlConn MySQL Connect
*/
if (htmlspecialchars($_POST['P_open'])) $open = 1;
else $open = 0;
if (!empty($_FILES['P_image']['name'][0])) {
// 阿里云账号AccessKey拥有所有API的访问权限风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维请登录RAM控制台创建RAM用户。
$accessKeyId = $config['Aliyun']['AccessKeyID'];
$accessKeySecret = $config['Aliyun']['AccessKeySecret'];
// Endpoint以华东1杭州为例其它Region请按实际情况填写。
$endpoint = "https://oss-cn-shenzhen-internal.aliyuncs.com";
// 填写Bucket名称。
$bucket= "nw-love";
for ($i=0; $i<count($_FILES['P_image']['name']); $i++) {
$tmpFilePatch = $_FILES['P_image']['tmp_name'][$i];
$data = explode('.',$_FILES['P_image']['name'][$i]);
$new_name = rand(1000,9999).time().rand(1000,9999).'.'.$data[1];
$_FILES['P_image']['name'][$i] = $new_name;
if ($tmpFilePatch != '') {
move_uploaded_file($_FILES["P_image"]["tmp_name"][$i], $_SERVER['DOCUMENT_ROOT']."/cache/" . $_FILES["P_image"]["name"][$i]);
$FilePatch[$i] = $_SERVER['DOCUMENT_ROOT']."/cache/" . $_FILES["P_image"]["name"][$i];
}
}
try{
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
// 第一次追加上传。第一次追加的位置是0返回值为下一次追加的位置。后续追加的位置是追加前文件的长度。
for ($i=0; $i<count($_FILES['P_image']['name']); $i++) {
$object = "Upload/".htmlspecialchars($_POST['P_album'])."/".$_FILES["P_image"]["name"][$i];
// 填写不包含Bucket名称在内的Object的完整路径。
$ossClient->uploadFile($bucket, $object, $FilePatch[$i]);
mysqli_query($SqlConn,"INSERT INTO ".$config['TABLE']['Album']." (`album_id`,`url`,`date`,`open`,`uploader`) VALUES ('".htmlspecialchars($_POST['P_album'])."','https://img.na-wen.love/Upload/".htmlspecialchars($_POST['P_album'])."/".$_FILES['P_image']['name'][$i]."','".date('Y-m-d')."','".$open."','".$_COOKIE['user']."')");
unlink($_SERVER['DOCUMENT_ROOT']."/cache/" . $_FILES["P_image"]["name"][$i]);
}
} catch(OssException $e) {
// 输出结果
$data = [
'output' => 'UPLOAD_ALIYUN_FAIL',
'code' => 403,
'info' => '上传失败',
];
return;
}
// 输出结果
$data = [
'output' => 'SUCCESS',
'code' => 200,
'info' => '完成',
'data' => $_FILES['P_image']['tmp_name'],
];
} else {
// 输出结果
$data = [
'output' => 'IMAGE_NONE',
'code' => 403,
'info' => '你的图片呢?',
];
}
echo $data['output'];