当前位置: 首页 > ai >正文

infinityfree mysql 加入数据库部分 filezilla 设备共享图片和文本不用浏览器缓存

仓库njsgcs/mypage

-- 创建书籍表
CREATE TABLE books (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,file_count INT DEFAULT 0,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;-- 创建书籍文件表
CREATE TABLE book_files (id INT AUTO_INCREMENT PRIMARY KEY,book_id INT NOT NULL,filename VARCHAR(255) NOT NULL,file_type VARCHAR(100) NOT NULL,file_size INT DEFAULT 0,content LONGBLOB,content_text LONGTEXT,sort_order INT DEFAULT 0,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (book_id) REFERENCES books(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;




Script file validation failed: potentially dangerous code pattern detected in php file 报错解决办法

我的网站无法上传文件!- 服务器支持 - InfinityFree 论坛 --- Can't upload files of my website! - Hosting Support - InfinityFree Forum

Download FileZilla Client for Windows (64bit x86)





用ipad测试了可以打开

<?php
// bookapi/config.php
// 注意:不要在这里设置Content-Type,让每个API自行设置header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');// 处理预检请求
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {exit(0);
}// 开启错误报告(仅用于调试环境)
error_reporting(E_ALL);
ini_set('display_errors', 1);function loadEnv($path) {if (!file_exists($path)) return;$lines = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);foreach ($lines as $line) {if (strpos($line, '=') !== false && strpos($line, '#') !== 0) {list($key, $value) = explode('=', $line, 2);$_ENV[trim($key)] = trim($value);}}
}loadEnv(__DIR__ . '/.env');$host = $_ENV['DB_HOST'] ?? 'sql100.byetcluster.com';
$dbname = $_ENV['DB_NAME'] ?? 'if0_39801986_keyinfo';
$username = $_ENV['DB_USER'] ?? 'if0_39801986';
$password = $_ENV['DB_PASS'] ?? '密码';try {$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch(PDOException $e) {error_log("Database connection failed: " . $e->getMessage());header('Content-Type: application/json');echo json_encode(['success' => false, 'message' => '数据库连接失败: ' . $e->getMessage()]);exit;
}
?>
<?php
// bookapi/load_book.php
include 'config.php';header('Content-Type: application/json'); // 添加这行if (!isset($_GET['id'])) {echo json_encode(['success' => false, 'message' => '缺少书籍ID']);exit;
}try {$bookId = intval($_GET['id']);// 获取书籍信息$stmt = $pdo->prepare("SELECT id, name, file_count, created_at, updated_at FROM books WHERE id = ?");$stmt->execute([$bookId]);$book = $stmt->fetch(PDO::FETCH_ASSOC);if (!$book) {echo json_encode(['success' => false, 'message' => '书籍不存在']);exit;}// 获取文件列表$stmt = $pdo->prepare("SELECT id, filename, file_type, file_size, sort_order FROM book_files WHERE book_id = ? ORDER BY sort_order");$stmt->execute([$bookId]);$files = $stmt->fetchAll(PDO::FETCH_ASSOC);echo json_encode(['success' => true, 'book' => $book, 'files' => $files]);
} catch (Exception $e) {echo json_encode(['success' => false, 'message' => '加载书籍失败: ' . $e->getMessage()]);
}
?>




读取部分

jobfinder.html里

async function loadConfigFromDatabase() {try {const response = await fetch('./keyinfoapi/get_config.php');const result = await response.json();console.info('result:', result);if (result.success) {API_KEYS.deepseek = result.data.deepseek_api_key || "your-placeholder-key";PERSONAL_INFO = result.data.personal_info || "默认个人信息...";}} catch (error) {console.error('获取配置失败:', error);// 使用默认值API_KEYS.deepseek = "your-placeholder-key";PERSONAL_INFO = "默认个人信息...";}
}
<?php
// keyinfoapi/get_config.php
include 'config.php';try {$stmt = $pdo->query("SELECT config_key, config_value FROM user_configs");$configs = $stmt->fetchAll(PDO::FETCH_ASSOC);$result = [];foreach ($configs as $config) {$result[$config['config_key']] = $config['config_value'];}echo json_encode(['success' => true, 'data' => $result]);
} catch (Exception $e) {echo json_encode(['success' => false, 'message' => '获取配置失败: ' . $e->getMessage()]);
}
?>
<?php
// keyinfoapi/config.php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');// 处理预检请求
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {exit(0);
}function loadEnv($path) {if (!file_exists($path)) return;$lines = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);foreach ($lines as $line) {if (strpos($line, '=') !== false && strpos($line, '#') !== 0) {list($key, $value) = explode('=', $line, 2);$_ENV[trim($key)] = trim($value);}}
}loadEnv(__DIR__ . '../.env');$host = $_ENV['DB_HOST'] ?? 'sql100.byetcluster.com';
$dbname = $_ENV['DB_NAME'] ?? 'if0_39801986_keyinfo';
$username = $_ENV['DB_USER'] ?? 'if0_39801986';
$password = $_ENV['DB_PASS'] ?? '密码';
try {$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {error_log("Database connection failed: " . $e->getMessage());echo json_encode(['success' => false, 'message' => '数据库连接失败']);exit;
}
?>

http://www.xdnf.cn/news/19468.html

相关文章:

  • 第六章 Vue3 + Three.js 实现高质量全景图查看器:从基础到优化
  • hive表不显示列注释column comment的问题解决
  • Linux signal 图文详解(二)信号发送
  • 为什么服务器接收 URL 参数时会接收到解码后的参数
  • DHT11-温湿度传感器
  • openEuler2403部署Redis8集群
  • 京东入局外卖,还有很多问题。
  • Ubuntu 服务器实战:Docker 部署 Nextcloud+ZeroTier,打造可远程访问的个人云
  • 学习 Android (十八) 学习 OpenCV (三)
  • OpenHarmony 分布式感知中枢深度拆解:MSDP 框架从 0 到 1 的实战指南
  • 餐饮外卖同城配送酒水寄存餐品加价换购促销小程序APP
  • Windows 安装配置解压版MongoDb
  • TFT屏幕:STM32硬件SPI+DMA+队列自动传输
  • 【RelayMQ】基于 Java 实现轻量级消息队列(五)
  • 2025 最新Vue前端面试题目 (9月最新)
  • AI 重构医疗诊断:影像识别准确率突破 98%,基层医院如何借技术缩小诊疗差距?
  • 设备服务管理上报方案
  • 两轮车车机 OS 演进路线深度解析
  • libmodbus源码分析
  • 【前端】《手把手带你入门前端》前端的一整套从开发到打包流程, 这篇文章都会教会你;什么是vue,Ajax,Nginx,前端三大件?
  • 差角函数差角矩阵位置编码
  • 无需服务器也能建网站:Docsify+cpolar让技术文档分享像写笔记一样简单
  • 手机版碰一碰发视频源码搭建,技术实现与实操指南
  • 鸿蒙开发进阶(HarmonyOS)
  • Unity中多线程与高并发下的单例模式
  • MobaXterm介绍
  • Git将多笔patch合并成一笔
  • 苹果 Safari 地址栏可能被超大光标视觉欺骗
  • HarvardX TinyML小笔记2(番外3:数据工程)(TODO)
  • 杰理ac791无法控制io脚原因