no message
This commit is contained in:
90
user/get_my_products.php
Normal file
90
user/get_my_products.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
include './sc.php';
|
||||
//sleep(1);
|
||||
// 设置要读取的目录路径
|
||||
$directory = './me/' . $user . '/' . $pass . '/products';
|
||||
|
||||
// 创建一个空数组来保存文件名和内容
|
||||
$result = [];
|
||||
|
||||
// 确保目录存在并且是可读的
|
||||
if (is_dir($directory)) {
|
||||
// 打开目录
|
||||
if ($dh = opendir($directory)) {
|
||||
// 循环读取目录中的文件
|
||||
while (($file = readdir($dh)) !== false) {
|
||||
// 跳过目录中的 . 和 .. 以及其他无效的文件
|
||||
if ($file == '.' || $file == '..') {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 检查文件是否以 .json 结尾
|
||||
if (pathinfo($file, PATHINFO_EXTENSION) === 'json') {
|
||||
// 获取文件的路径
|
||||
$filePath = $directory . '/' . $file;
|
||||
|
||||
// 读取文件内容
|
||||
$content = file_get_contents($filePath);
|
||||
|
||||
// 检查文件内容是否有效
|
||||
if ($content === false || empty($content)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 去掉文件的扩展名 .json 作为键
|
||||
$fileNameWithoutExtension = pathinfo($file, PATHINFO_FILENAME);
|
||||
|
||||
// 确保文件名不为空
|
||||
if (!empty($fileNameWithoutExtension)) {
|
||||
// 将文件内容解码为关联数组
|
||||
$jsonData = json_decode($content, true);
|
||||
|
||||
// 将文件名作为额外字段添加进解码后的 JSON 数据
|
||||
if (is_array($jsonData)) {
|
||||
$jsonData['_fileName'] = $fileNameWithoutExtension;
|
||||
$result[] = $jsonData; // 存储解码后的数据
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 关闭目录
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
|
||||
// 自定义排序函数,先按 `name`,再按 `dqtime` 排序
|
||||
usort($result, function($a, $b) {
|
||||
// 按 name 排序,如果 name 相同,再按 dqtime 排序
|
||||
$nameA = isset($a['name']) ? $a['name'] : '';
|
||||
$nameB = isset($b['name']) ? $b['name'] : '';
|
||||
$dqtimeA = isset($a['dqtime']) ? $a['dqtime'] : '';
|
||||
$dqtimeB = isset($b['dqtime']) ? $b['dqtime'] : '';
|
||||
|
||||
// 先按 name 字段比较
|
||||
if ($nameA == $nameB) {
|
||||
// name 相同的情况下按 dqtime 比较
|
||||
return strcmp($dqtimeA, $dqtimeB);
|
||||
}
|
||||
return strcmp($nameA, $nameB);
|
||||
});
|
||||
|
||||
// 将排序后的结果转换为关联数组,文件名为键
|
||||
$sortedResult = [];
|
||||
foreach ($result as $jsonData) {
|
||||
if (isset($jsonData['_fileName'])) {
|
||||
$fileNameWithoutExtension = $jsonData['_fileName'];
|
||||
unset($jsonData['_fileName']); // 删除临时的文件名字段
|
||||
$sortedResult[$fileNameWithoutExtension] = $jsonData;
|
||||
}
|
||||
}
|
||||
|
||||
// 检查是否有结果,如果没有 .json 文件,则输出 null
|
||||
if (empty($sortedResult)) {
|
||||
$sortedResult = null;
|
||||
}
|
||||
|
||||
// 将结果数组输出为 JSON 格式
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode($sortedResult, JSON_PRETTY_PRINT);
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user