找回密码
 注册
搜索
免费空间 免费域名 免费AI 老牌主机商首月仅1美分!27美元/年!Namecheap优惠码Spaceship优惠码
查看: 95|回复: 16

[程序代码] 分享支持chez.com空间的图床源码

[复制链接]
发表于 昨天 00:54 | 显示全部楼层 |阅读模式
折腾了一晚上搞定了,
目前仅在chez.com空间测试可用,
其他空间没有测试,
功能特点如下:
单页文件,
支持注册,
支持改密,
图片链接有四种,
支持全选复制图片链接
禁止注册成员,
删除注册成员,
注册开启和关闭,
新建相册,
编辑相册名称等。
目前为了安全仅支持注册上传。

演示:http://sotu.chez.com



喜欢折腾的可以二次开发并分享出来。

复制源码保存到index.php
默认密码:admin123
  1. <?php
  2. error_reporting(0);
  3. $base = dirname(__FILE__);
  4. $s_path = $base . '/sessions';
  5. if (!is_dir($s_path)) @mkdir($s_path, 0777, true);
  6. @session_save_path($s_path);
  7. @session_start();

  8. // 1. 登录校验与状态实时检查
  9. if (!isset($_SESSION['uid']) && isset($_COOKIE['app_auth'])) {
  10.     $c = explode('|', base64_decode($_COOKIE['app_auth']));
  11.     if (count($c) == 3) { $_SESSION['uid'] = $c[0]; $_SESSION['user'] = $c[1]; $_SESSION['role'] = $c[2]; }
  12. }

  13. // 2. 数据库初始化
  14. try {
  15.     $db = new PDO('sqlite:' . $base . '/data_store.db');
  16.     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  17.     $db->exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, user TEXT UNIQUE, pass TEXT, status INTEGER DEFAULT 1, role TEXT DEFAULT 'user')");
  18.     $db->exec("CREATE TABLE IF NOT EXISTS albums (id INTEGER PRIMARY KEY AUTOINCREMENT, uid INTEGER, name TEXT, time DATETIME)");
  19.     $db->exec("CREATE TABLE IF NOT EXISTS imgs (id INTEGER PRIMARY KEY AUTOINCREMENT, uid INTEGER, aid INTEGER DEFAULT 0, path TEXT, name TEXT, time DATETIME)");
  20.     $db->exec("CREATE TABLE IF NOT EXISTS config (key TEXT PRIMARY KEY, val TEXT)");
  21.     if (!$db->query("SELECT count(*) FROM config WHERE key='reg_open'")->fetchColumn()) $db->exec("INSERT INTO config (key, val) VALUES ('reg_open', '1')");
  22.     if (!$db->query("SELECT count(*) FROM users WHERE user='admin'")->fetchColumn()) $db->prepare("INSERT INTO users (user, pass, role) VALUES ('admin', ?, 'admin')")->execute(array(md5('admin123')));
  23. } catch (Exception $e) { die("Database Error"); }

  24. // 实时校验用户是否被禁用
  25. if (isset($_SESSION['uid'])) {
  26.     $u_check = $db->prepare("SELECT status FROM users WHERE id=?");
  27.     $u_check->execute(array($_SESSION['uid']));
  28.     $u_stat = $u_check->fetchColumn();
  29.     if ($u_stat === '0') { session_destroy(); setcookie('app_auth', '', 0, "/"); header("Location: index.php?msg=".urlencode("您的账号已被管理员禁用")); exit; }
  30. }

  31. $msg = isset($_GET['msg']) ? $_GET['msg'] : "";
  32. $act = isset($_GET['action']) ? $_GET['action'] : '';
  33. $aid = isset($_GET['aid']) ? $_GET['aid'] : 'none';
  34. $view_uid = isset($_GET['view_uid']) ? (int)$_GET['view_uid'] : 0;
  35. $is_adm = (isset($_SESSION['role']) && $_SESSION['role'] == 'admin');
  36. $reg_open = $db->query("SELECT val FROM config WHERE key='reg_open'")->fetchColumn();

  37. // 3. POST 逻辑
  38. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  39.     if ($act == 'login') {
  40.         $st = $db->prepare("SELECT * FROM users WHERE user=? AND pass=?");
  41.         $st->execute(array($_POST['u'], md5($_POST['p'])));
  42.         if ($r = $st->fetch()) {
  43.             if ($r['status'] == 0) { header("Location: index.php?msg=".urlencode("账号已被禁用")); exit; }
  44.             $_SESSION['uid']=$r['id']; $_SESSION['user']=$r['user']; $_SESSION['role']=$r['role'];
  45.             setcookie('app_auth', base64_encode($r['id'].'|'.$r['user'].'|'.$r['role']), time()+86400*7, "/");
  46.             header("Location: index.php"); exit;
  47.         } else { header("Location: index.php?msg=".urlencode("账号或密码错误")); exit; }
  48.     }
  49.     if ($act == 'reg' && $reg_open == '1') {
  50.         try {
  51.             $db->prepare("INSERT INTO users (user, pass) VALUES (?, ?)")->execute(array($_POST['u'], md5($_POST['p'])));
  52.             header("Location: index.php?msg=".urlencode("注册成功")); exit;
  53.         } catch(Exception $e) { header("Location: index.php?action=to_reg&msg=".urlencode("账号已存在")); exit; }
  54.     }
  55.     if (isset($_SESSION['uid'])) {
  56.         if ($act == 'edit_album') {
  57.             $db->prepare("UPDATE albums SET name=? WHERE id=? AND uid=?")->execute(array($_POST['new_name'], $_POST['album_id'], $_SESSION['uid']));
  58.             header("Location: index.php"); exit;
  59.         }
  60.         if ($act == 'my_pass') {
  61.             $db->prepare("UPDATE users SET pass=? WHERE id=?")->execute(array(md5($_POST['newp']), $_SESSION['uid']));
  62.             header("Location: index.php?action=profile&msg=".urlencode("密码修改成功")); exit;
  63.         }
  64.         if ($is_adm) {
  65.             if ($act == 'toggle_reg') {
  66.                 $db->prepare("UPDATE config SET val=? WHERE key='reg_open'")->execute(array($reg_open == '1' ? '0' : '1'));
  67.                 header("Location: index.php?action=users"); exit;
  68.             }
  69.             if ($act == 'toggle_user_stat') {
  70.                 $target_uid = (int)$_POST['uid'];
  71.                 if ($target_uid > 1 && $target_uid != $_SESSION['uid']) {
  72.                     $db->prepare("UPDATE users SET status = 1 - status WHERE id = ?")->execute(array($target_uid));
  73.                 }
  74.                 header("Location: index.php?action=users"); exit;
  75.             }
  76.             if ($act == 'adm_edit_user') {
  77.                 $db->prepare("UPDATE users SET pass=? WHERE id=?")->execute(array(md5($_POST['p']), $_POST['uid']));
  78.                 header("Location: index.php?action=users&msg=".urlencode("重置成功")); exit;
  79.             }
  80.             if ($act == 'del_user') {
  81.                 $target_uid = (int)$_POST['uid'];
  82.                 if ($target_uid > 1 && $target_uid != $_SESSION['uid']) {
  83.                     $st = $db->prepare("SELECT path FROM imgs WHERE uid=?");
  84.                     $st->execute(array($target_uid));
  85.                     while($im = $st->fetch()) { @unlink($base.'/'.$im['path']); }
  86.                     $db->prepare("DELETE FROM imgs WHERE uid=?")->execute(array($target_uid));
  87.                     $db->prepare("DELETE FROM albums WHERE uid=?")->execute(array($target_uid));
  88.                     $db->prepare("DELETE FROM users WHERE id=?")->execute(array($target_uid));
  89.                     header("Location: index.php?action=users&msg=".urlencode("已彻底删除")); exit;
  90.                 }
  91.             }
  92.         }
  93.         if ($act == 'add_album') {
  94.             $db->prepare("INSERT INTO albums (uid, name, time) VALUES (?, ?, datetime('now'))")->execute(array($_SESSION['uid'], $_POST['aname']));
  95.             header("Location: index.php"); exit;
  96.         }
  97.         if (isset($_FILES['imgs']) && $aid !== 'none') {
  98.             $up = $base . '/uploads'; if (!is_dir($up)) @mkdir($up, 0777);
  99.             foreach ($_FILES['imgs']['name'] as $i => $n) {
  100.                 if ($_FILES['imgs']['error'][$i] === 0) {
  101.                     $sn = 'img_'.time().'_'.rand(100,999).'.'.strtolower(pathinfo($n, PATHINFO_EXTENSION));
  102.                     if (move_uploaded_file($_FILES['imgs']['tmp_name'][$i], $up.'/'.$sn))
  103.                         $db->prepare("INSERT INTO imgs (uid, aid, path, name, time) VALUES (?, ?, ?, ?, datetime('now'))")->execute(array($_SESSION['uid'], ($aid=='uncategorized'?0:(int)$aid), 'uploads/'.$sn, $n));
  104.                 }
  105.             }
  106.             header("Location: ".$_SERVER['HTTP_REFERER']); exit;
  107.         }
  108.         if ($act == 'batch_del' && isset($_POST['ids'])) {
  109.             foreach ($_POST['ids'] as $id) { del_img_db($db, $id, $base, $is_adm); }
  110.             header("Location: ".$_SERVER['HTTP_REFERER']); exit;
  111.         }
  112.     }
  113. }

  114. if ($act == 'del_one' && isset($_GET['id'])) {
  115.     del_img_db($db, (int)$_GET['id'], $base, $is_adm);
  116.     header("Location: ".$_SERVER['HTTP_REFERER']); exit;
  117. }
  118. function del_img_db($db, $id, $base, $is_adm) {
  119.     $sql = $is_adm ? "SELECT path FROM imgs WHERE id=?" : "SELECT path FROM imgs WHERE id=? AND uid=".$_SESSION['uid'];
  120.     $st = $db->prepare($sql); $st->execute(array($id));
  121.     if ($im = $st->fetch()) { @unlink($base.'/'.$im['path']); $db->prepare("DELETE FROM imgs WHERE id=?")->execute(array($id)); }
  122. }
  123. if ($act == 'out') { session_destroy(); setcookie('app_auth', '', 0, "/"); header("Location: index.php"); exit; }
  124. ?>
  125. <!DOCTYPE html><html><head><meta charset="UTF-8"><title>CloudGallery Pro</title>
  126. <style>
  127.     :root { --p: #1890ff; --d: #ff4d4f; --s: #52c41a; }
  128.     body{font-family:sans-serif;background:#f0f2f5;margin:0;color:#333}
  129.     .bg-full{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)), url('https://picsum.photos/1920/1080?nature');background-size:cover;z-index:-1}
  130.     .nav{background:#fff;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
  131.     .container{max-width:1100px;margin:30px auto;padding:0 20px}
  132.     .btn{padding:7px 14px;border-radius:6px;cursor:pointer;border:none;font-size:12px;font-weight:bold;text-decoration:none;display:inline-block}
  133.     .b-blue{background:var(--p);color:#fff} .b-red{background:var(--d);color:#fff} .b-white{background:#fff;border:1px solid #ddd;color:#666} .b-green{background:var(--s);color:#fff}
  134.     .card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px rgba(0,0,0,0.05);position:relative}
  135.     .img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}
  136.     .img-item{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #eee;position:relative}
  137.     .del-one{position:absolute;top:5px;right:5px;background:rgba(255,0,0,0.7);color:#fff;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;display:none;text-decoration:none}
  138.     .img-item:hover .del-one{display:block}
  139.     .msg-tips{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.8);color:#fff;padding:10px 25px;border-radius:30px;font-size:13px;display:none;z-index:9999}
  140.     input{padding:10px;margin-bottom:10px;border:1px solid #ddd;border-radius:6px;box-sizing:border-box}
  141.     .edit-tag{position:absolute;top:10px;right:10px;font-size:11px;cursor:pointer;color:#bbb;background:#f8f9fa;padding:2px 5px;border-radius:4px}
  142. </style></head><body>
  143. <div id="tips" class="msg-tips"></div>
  144. <?php if(!isset($_SESSION['uid'])) { ?>
  145.     <div class="bg-full"></div>
  146.     <div style="width:320px;margin:120px auto;background:#fff;padding:40px;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,0.2)">
  147.         <h2 style="text-align:center"><?php echo ($act=='to_reg'?'注册账号':'登录'); ?></h2>
  148.         <?php if($msg){ echo "<p style='color:red;font-size:12px;text-align:center'>$msg</p>"; } ?>
  149.         <form method="post" action="?action=<?php echo ($act=='to_reg'?'reg':'login'); ?>">
  150.             <input name="u" placeholder="用户名" style="width:100%" required>
  151.             <input name="p" type="password" placeholder="密码" style="width:100%" required>
  152.             <button class="btn b-blue" style="width:100%;padding:12px">确认</button>
  153.             <?php if($reg_open=='1'||$act=='to_reg'){ ?><div style="text-align:center;margin-top:20px"><a href="?action=<?php echo ($act=='to_reg'?'':'to_reg'); ?>" style="color:#999;font-size:12px;text-decoration:none"><?php echo ($act=='to_reg'?'返回登录':'注册账号'); ?></a></div><?php } ?>
  154.         </form>
  155.     </div>
  156. <?php } else { ?>
  157.     <div class="nav">
  158.         <b style="color:var(--p);font-size:18px">CloudGallery Pro</b>
  159.         <div>
  160.             <a href="?action=profile" style="text-decoration:none;color:var(--p);font-weight:bold">👤 <?php echo $_SESSION['user']; ?></a>
  161.             <a href="index.php" style="margin-left:15px;text-decoration:none;color:#666">首页</a>
  162.             <?php if($is_adm){ ?><a href="?action=users" style="margin-left:15px;color:orange;text-decoration:none">管理</a><?php } ?>
  163.             <a href="?action=out" style="margin-left:15px;color:#999;text-decoration:none">退出</a>
  164.         </div>
  165.     </div>
  166.     <div class="container">
  167.         <?php if($msg){ echo "<div class='card' style='margin-bottom:15px;padding:10px;background:#e6f7ff;color:var(--p);text-align:center'>$msg</div>"; } ?>
  168.         <?php if($act == 'profile') { ?>
  169.             <div class="card" style="max-width:400px;margin:0 auto">
  170.                 <h3>修改个人密码</h3>
  171.                 <form method="post" action="?action=my_pass"><input type="password" name="newp" placeholder="新密码" style="width:100%" required><button class="btn b-blue" style="width:100%">确认保存</button></form>
  172.             </div>
  173.         <?php } else if($act == 'users' && $is_adm) { ?>
  174.             <div class="card">
  175.                 <div style="display:flex;justify-content:space-between;margin-bottom:20px"><h3>会员管理</h3><form method="post" action="?action=toggle_reg"><button class="btn <?php echo ($reg_open=='1'?'b-blue':'b-white'); ?>">注册状态: <?php echo ($reg_open=='1'?'ON':'OFF'); ?></button></form></div>
  176.                 <table width="100%" cellpadding="10" cellspacing="0">
  177.                     <tr style="text-align:left;background:#f8f9fa"><th>用户名</th><th>状态</th><th>操作</th></tr>
  178.                     <?php $us=$db->query("SELECT * FROM users"); while($u=$us->fetch()){ ?>
  179.                     <tr style="border-bottom:1px solid #eee">
  180.                         <td><b><?php echo $u['user']; ?></b> (<?php echo $u['role']; ?>)</td>
  181.                         <td><?php echo ($u['status']==1?'<span style="color:var(--s)">正常</span>':'<span style="color:var(--d)">已禁用</span>'); ?></td>
  182.                         <td>
  183.                             <a href="index.php?view_uid=<?php echo $u['id']; ?>" class="btn b-white">查看</a>
  184.                             <?php if($u['id'] > 1 && $u['id'] != $_SESSION['uid']){ ?>
  185.                             <form method="post" action="?action=toggle_user_stat" style="display:inline"><input type="hidden" name="uid" value="<?php echo $u['id']; ?>"><button class="btn <?php echo ($u['status']==1?'b-red':'b-green'); ?>"><?php echo ($u['status']==1?'禁用':'启用'); ?></button></form>
  186.                             <form method="post" action="?action=adm_edit_user" style="display:inline"><input type="hidden" name="uid" value="<?php echo $u['id']; ?>"><input type="text" name="p" placeholder="重置密码" style="width:70px;padding:5px;margin:0"><button class="btn b-white">重置</button></form>
  187.                             <form method="post" action="?action=del_user" style="display:inline" onsubmit="return confirm('彻底物理删除该用户及所有图片?')"><input type="hidden" name="uid" value="<?php echo $u['id']; ?>"><button class="btn b-red">删除</button></form>
  188.                             <?php } else { echo "<small style='color:#ccc;margin-left:10px'>锁定保护</small>"; } ?>
  189.                         </td>
  190.                     </tr><?php } ?>
  191.                 </table>
  192.             </div>
  193.         <?php } else if($aid !== 'none') { ?>
  194.             <div style="margin-bottom:20px;display:flex;justify-content:space-between">
  195.                 <a href="index.php<?php echo ($view_uid?"?view_uid=$view_uid":""); ?>" style="text-decoration:none;color:var(--p);font-weight:bold">⬅ 返回</a>
  196.                 <?php if(!$view_uid){ ?><form method="post" enctype="multipart/form-data"><input name="imgs[]" type="file" multiple required><button class="btn b-blue">上传</button></form><?php } ?>
  197.             </div>
  198.             <div class="card" style="margin-bottom:20px;display:flex;align-items:center;flex-wrap:wrap;gap:8px">
  199.                 <label><input type="checkbox" onclick="var c=document.querySelectorAll('.ic');for(var i=0;i<c.length;i++)c[i].checked=this.checked"> 全选</label>
  200.                 <button class="btn b-red" onclick="document.getElementById('b-form').submit()">删除选中</button>
  201.                 <div style="margin-left:auto">
  202.                     <button class="btn b-white" onclick="cp('url')">URL</button>
  203.                     <button class="btn b-white" onclick="cp('html')">HTML</button>
  204.                     <button class="btn b-white" onclick="cp('md')">Markdown</button>
  205.                     <button class="btn b-white" onclick="cp('bb')">BBCode</button>
  206.                 </div>
  207.             </div>
  208.             <form id="b-form" method="post" action="?action=batch_del&aid=<?php echo $aid; ?>">
  209.                 <div class="img-grid">
  210.                     <?php
  211.                     $v_aid = ($aid=='uncategorized'?0:(int)$aid);
  212.                     $target_uid = ($is_adm && $view_uid ? $view_uid : $_SESSION['uid']);
  213.                     $st = $db->prepare("SELECT * FROM imgs WHERE aid=? AND uid=? ORDER BY id DESC");
  214.                     $st->execute(array($v_aid, $target_uid));
  215.                     while($im=$st->fetch()){
  216.                         $u_url='http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'.$im['path']; ?>
  217.                         <div class="img-item">
  218.                             <a href="?action=del_one&id=<?php echo $im['id']; ?>" class="del-one" onclick="return confirm('彻底物理删除?')">×</a>
  219.                             <img src="<?php echo $im['path']; ?>" style="width:100%;height:150px;object-fit:cover;cursor:pointer" onclick="window.open(this.src)">
  220.                             <div style="padding:10px"><input type="checkbox" name="ids[]" class="ic" value="<?php echo $im['id']; ?>" data-url="<?php echo $u_url; ?>"></div>
  221.                         </div>
  222.                     <?php } ?>
  223.                 </div>
  224.             </form>
  225.         <?php } else { ?>
  226.             <div style="margin-bottom:25px">
  227.                 <?php if($is_adm && $view_uid){ echo "<div class='card'>预览用户 $view_uid 的空间</div>"; } else { ?>
  228.                 <form method="post" action="?action=add_album" class="card"><input name="aname" placeholder="新相册名" style="margin:0;width:200px" required> <button class="btn b-blue">创建</button></form>
  229.                 <?php } ?>
  230.             </div>
  231.             <div class="img-grid">
  232.                 <div class="card" onclick="location.href='?aid=uncategorized<?php echo ($view_uid?"&view_uid=$view_uid":""); ?>'" style="text-align:center;cursor:pointer;border:1px dashed #ddd">⌛<br><b>未分类</b></div>
  233.                 <?php
  234.                 $target_uid = ($is_adm && $view_uid ? $view_uid : $_SESSION['uid']);
  235.                 $st = $db->prepare("SELECT * FROM albums WHERE uid=? ORDER BY id DESC");
  236.                 $st->execute(array($target_uid));
  237.                 while($al=$st->fetch()){ ?>
  238.                 <div class="card" style="text-align:center">
  239.                     <?php if(!$view_uid){ ?><span class="edit-tag" onclick="var n=prompt('修改名称','<?php echo $al['name']; ?>');if(n){var f=document.createElement('form');f.method='post';f.action='?action=edit_album';var i1=document.createElement('input');i1.name='new_name';i1.value=n;var i2=document.createElement('input');i2.name='album_id';i2.value='<?php echo $al['id']; ?>';f.appendChild(i1);f.appendChild(i2);document.body.appendChild(f);f.submit();}">编辑</span><?php } ?>
  240.                     <div onclick="location.href='?aid=<?php echo $al['id']; ?><?php echo ($view_uid?'&view_uid='.$view_uid:''); ?>'" style="cursor:pointer"><span style="font-size:30px">📂</span><br><b><?php echo $al['name']; ?></b></div>
  241.                 </div>
  242.                 <?php } ?>
  243.             </div>
  244.         <?php } ?>
  245.     </div>
  246. <?php } ?>
  247. <script>
  248. function showTips(t){ var x=document.getElementById('tips'); x.innerText=t; x.style.display='block'; setTimeout(function(){x.style.display='none'},2000); }
  249. function cp(type){
  250.     var s=[]; var c=document.querySelectorAll('.ic:checked');
  251.     if(!c.length) return showTips('未勾选');
  252.     for(var i=0;i<c.length;i++){
  253.         var u=c[i].getAttribute('data-url');
  254.         if(type=='md') s.push('![]('+u+')'); else if(type=='html') s.push('<img src="'+u+'" />'); else if(type=='bb') s.push('[img]'+u+'[/img]'); else s.push(u);
  255.     }
  256.     var ta=document.createElement('textarea'); ta.value=s.join('\n'); document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta);
  257.     showTips('成功复制 '+c.length+' 条');
  258. }
  259. </script></body></html>
复制代码

评分

参与人数 1银币 +5 收起 理由
花荣 + 5 赞一个!

查看全部评分

发表于 昨天 09:48 来自手机 | 显示全部楼层
不只支持图片格式上传,还支持其他格式上传
 楼主| 发表于 昨天 10:13 | 显示全部楼层
shim 发表于 2026-1-15 09:48
不只支持图片格式上传,还支持其他格式上传

多图片格式我给忘记了,有时间再添加多种格式吧,不过你可以开发一个更好的,到时候别忘记分享出来,我这个时间仓促,还有很多未知bug
发表于 昨天 10:13 | 显示全部楼层
可以去把当年php5时代很火的目录直图相册程序,找AI修改下
发表于 昨天 10:39 | 显示全部楼层
很6 啊  
发表于 昨天 10:51 来自手机 | 显示全部楼层
再开发一个目录文件形式功能可以查看所有上传的图片
发表于 昨天 10:52 | 显示全部楼层
不错不错  可以做个图片外链
 楼主| 发表于 昨天 22:01 | 显示全部楼层
wxk 发表于 2026-1-15 10:52
不错不错  可以做个图片外链

好像非图片文件也能上传
发表于 昨天 22:07 | 显示全部楼层
本帖最后由 jason 于 2026-1-15 22:11 编辑

美优
meiupic
2.1
http://fuli.chez.com/photo/
不是我的

网上没找到2.1版
1.2和2.1都出错
 楼主| 发表于 昨天 22:33 | 显示全部楼层

这个能注册吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|免费吧论坛

GMT+8, 2026-1-16 07:36 , Processed in 0.090221 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表