自动提交
This commit is contained in:
179
test.php
179
test.php
@@ -1,179 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Git上传工具测试文件
|
||||
* 用于验证各个功能模块是否正常工作
|
||||
*/
|
||||
|
||||
// 测试文件上传功能
|
||||
function testFileUpload() {
|
||||
echo "=== 测试文件上传功能 ===\n";
|
||||
|
||||
// 创建测试文件
|
||||
$testContent = "这是一个测试文件\n创建于: " . date('Y-m-d H:i:s');
|
||||
$testFile = 'test_upload_' . time() . '.txt';
|
||||
|
||||
if (file_put_contents($testFile, $testContent)) {
|
||||
echo "✓ 测试文件创建成功: $testFile\n";
|
||||
} else {
|
||||
echo "✗ 测试文件创建失败\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
// 检查上传目录
|
||||
$uploadDir = __DIR__ . '/uploads/';
|
||||
if (!is_dir($uploadDir)) {
|
||||
mkdir($uploadDir, 0777, true);
|
||||
echo "✓ 上传目录创建成功\n";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 测试Git操作功能
|
||||
function testGitOperations() {
|
||||
echo "\n=== 测试Git操作功能 ===\n";
|
||||
|
||||
$currentDir = __DIR__;
|
||||
|
||||
// 检查Git是否可用
|
||||
exec('git --version', $output, $returnCode);
|
||||
if ($returnCode === 0) {
|
||||
echo "✓ Git已安装: " . $output[0] . "\n";
|
||||
} else {
|
||||
echo "✗ Git未安装或不可用\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
// 检查Git仓库
|
||||
$gitDir = $currentDir . '/.git';
|
||||
if (is_dir($gitDir)) {
|
||||
echo "✓ Git仓库已存在\n";
|
||||
} else {
|
||||
echo "ℹ Git仓库不存在,可以初始化\n";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 测试PHP配置
|
||||
function testPHPConfiguration() {
|
||||
echo "\n=== 测试PHP配置 ===\n";
|
||||
|
||||
$configs = [
|
||||
'upload_max_filesize' => ini_get('upload_max_filesize'),
|
||||
'post_max_size' => ini_get('post_max_size'),
|
||||
'max_execution_time' => ini_get('max_execution_time'),
|
||||
'memory_limit' => ini_get('memory_limit')
|
||||
];
|
||||
|
||||
foreach ($configs as $key => $value) {
|
||||
echo " $key: $value\n";
|
||||
}
|
||||
|
||||
// 检查必要的PHP函数
|
||||
$functions = ['exec', 'move_uploaded_file', 'json_encode', 'file_put_contents'];
|
||||
$allFunctionsAvailable = true;
|
||||
|
||||
foreach ($functions as $function) {
|
||||
if (function_exists($function)) {
|
||||
echo "✓ 函数 $function 可用\n";
|
||||
} else {
|
||||
echo "✗ 函数 $function 不可用\n";
|
||||
$allFunctionsAvailable = false;
|
||||
}
|
||||
}
|
||||
|
||||
return $allFunctionsAvailable;
|
||||
}
|
||||
|
||||
// 测试目录权限
|
||||
function testDirectoryPermissions() {
|
||||
echo "\n=== 测试目录权限 ===\n";
|
||||
|
||||
$directories = [
|
||||
__DIR__,
|
||||
__DIR__ . '/uploads/',
|
||||
__DIR__ . '/css/',
|
||||
__DIR__ . '/js/'
|
||||
];
|
||||
|
||||
foreach ($directories as $dir) {
|
||||
if (!is_dir($dir)) {
|
||||
mkdir($dir, 0777, true);
|
||||
}
|
||||
|
||||
if (is_writable($dir)) {
|
||||
echo "✓ 目录可写: $dir\n";
|
||||
} else {
|
||||
echo "✗ 目录不可写: $dir\n";
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 测试AJAX端点
|
||||
function testAjaxEndpoints() {
|
||||
echo "\n=== 测试AJAX端点 ===\n";
|
||||
|
||||
// 这里可以添加更详细的端点测试
|
||||
$endpoints = [
|
||||
'check_git' => '检查Git状态',
|
||||
'get_files' => '获取文件列表',
|
||||
'git_operation' => 'Git操作',
|
||||
'upload' => '文件上传'
|
||||
];
|
||||
|
||||
foreach ($endpoints as $endpoint => $description) {
|
||||
echo "✓ 端点 $endpoint ($description) 已定义\n";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 运行所有测试
|
||||
function runAllTests() {
|
||||
echo "开始Git上传工具测试...\n";
|
||||
echo "=====================================\n";
|
||||
|
||||
$tests = [
|
||||
'testPHPConfiguration',
|
||||
'testDirectoryPermissions',
|
||||
'testGitOperations',
|
||||
'testAjaxEndpoints',
|
||||
'testFileUpload'
|
||||
];
|
||||
|
||||
$allPassed = true;
|
||||
|
||||
foreach ($tests as $test) {
|
||||
try {
|
||||
$result = $test();
|
||||
if (!$result) {
|
||||
$allPassed = false;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
echo "✗ 测试 $test 抛出异常: " . $e->getMessage() . "\n";
|
||||
$allPassed = false;
|
||||
}
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
echo "=====================================\n";
|
||||
if ($allPassed) {
|
||||
echo "✓ 所有测试通过!工具应该可以正常工作。\n";
|
||||
} else {
|
||||
echo "✗ 部分测试失败,请检查配置和权限。\n";
|
||||
}
|
||||
|
||||
// 清理测试文件
|
||||
$testFiles = glob('test_upload_*.txt');
|
||||
foreach ($testFiles as $file) {
|
||||
unlink($file);
|
||||
}
|
||||
}
|
||||
|
||||
// 如果直接访问此文件,运行测试
|
||||
if (basename($_SERVER['PHP_SELF']) === basename(__FILE__)) {
|
||||
runAllTests();
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
<?php
|
||||
// 测试Git添加和提交操作
|
||||
$apiUrl = 'http://localhost:8080/index.php';
|
||||
|
||||
// 测试Git添加
|
||||
echo "测试Git添加操作\n";
|
||||
$ch = curl_init($apiUrl);
|
||||
curl_setopt_array($ch, [
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => http_build_query(['action' => 'git_operation', 'operation' => 'add']),
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded']
|
||||
]);
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
if ($response) {
|
||||
$result = json_decode($response, true);
|
||||
echo "Git添加结果:\n";
|
||||
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n\n";
|
||||
}
|
||||
|
||||
// 测试Git提交
|
||||
echo "测试Git提交操作\n";
|
||||
$ch = curl_init($apiUrl);
|
||||
curl_setopt_array($ch, [
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => http_build_query([
|
||||
'action' => 'git_operation',
|
||||
'operation' => 'commit',
|
||||
'message' => '测试提交:修复Git仓库路径问题'
|
||||
]),
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded']
|
||||
]);
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
if ($response) {
|
||||
$result = json_decode($response, true);
|
||||
echo "Git提交结果:\n";
|
||||
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n\n";
|
||||
}
|
||||
|
||||
echo "Git操作测试完成!\n";
|
||||
?>
|
||||
@@ -1,57 +0,0 @@
|
||||
<?php
|
||||
// 测试Git操作功能
|
||||
$apiUrl = 'http://localhost:8080/index.php';
|
||||
|
||||
// 测试1: 获取文件列表
|
||||
echo "测试1: 获取文件列表\n";
|
||||
$ch = curl_init($apiUrl);
|
||||
curl_setopt_array($ch, [
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => http_build_query(['action' => 'get_files']),
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded']
|
||||
]);
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
if ($response) {
|
||||
$result = json_decode($response, true);
|
||||
echo "文件列表结果:\n";
|
||||
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n\n";
|
||||
}
|
||||
|
||||
// 测试2: 获取分支列表
|
||||
echo "测试2: 获取分支列表\n";
|
||||
$ch = curl_init($apiUrl);
|
||||
curl_setopt_array($ch, [
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => http_build_query(['action' => 'get_branches']),
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded']
|
||||
]);
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
if ($response) {
|
||||
$result = json_decode($response, true);
|
||||
echo "分支列表结果:\n";
|
||||
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n\n";
|
||||
}
|
||||
|
||||
// 测试3: Git状态
|
||||
echo "测试3: Git状态\n";
|
||||
$ch = curl_init($apiUrl);
|
||||
curl_setopt_array($ch, [
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => http_build_query(['action' => 'git_operation', 'operation' => 'status']),
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded']
|
||||
]);
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
if ($response) {
|
||||
$result = json_decode($response, true);
|
||||
echo "Git状态结果:\n";
|
||||
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "\n\n";
|
||||
}
|
||||
|
||||
echo "测试完成!\n";
|
||||
?>
|
||||
@@ -1,37 +0,0 @@
|
||||
<?php
|
||||
// 测试文件上传功能
|
||||
$uploadUrl = 'http://localhost:8080/index.php';
|
||||
|
||||
// 准备测试文件
|
||||
$testContent = "这是测试文件内容\n用于验证Git上传功能\n时间:" . date('Y-m-d H:i:s');
|
||||
file_put_contents('test_upload.txt', $testContent);
|
||||
|
||||
// 创建cURL请求
|
||||
curl_setopt_array($ch = curl_init(), [
|
||||
CURLOPT_URL => $uploadUrl,
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => [
|
||||
'action' => 'upload',
|
||||
'files' => new CURLFile('test_upload.txt')
|
||||
],
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_HTTPHEADER => [
|
||||
'Content-Type: multipart/form-data'
|
||||
]
|
||||
]);
|
||||
|
||||
echo "正在测试文件上传功能...\n";
|
||||
$response = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
if ($response) {
|
||||
$result = json_decode($response, true);
|
||||
echo "上传结果:\n";
|
||||
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
} else {
|
||||
echo "上传失败:无法连接到服务器\n";
|
||||
}
|
||||
|
||||
// 清理测试文件
|
||||
@unlink('test_upload.txt');
|
||||
?>
|
||||
@@ -1,3 +0,0 @@
|
||||
这是测试文件内容
|
||||
用于验证Git上传功能
|
||||
时间:2025-11-15 11:17:28
|
||||
BIN
v1.0.2.gxw
Normal file
BIN
v1.0.2.gxw
Normal file
Binary file not shown.
BIN
v1.0.3修改OKNG灯可废弃此版本.gxw
Normal file
BIN
v1.0.3修改OKNG灯可废弃此版本.gxw
Normal file
Binary file not shown.
1
测试文件夹/子文件夹/子文件.txt
Normal file
1
测试文件夹/子文件夹/子文件.txt
Normal file
@@ -0,0 +1 @@
|
||||
这是子文件夹中的文件
|
||||
1
测试文件夹/测试文件1.txt
Normal file
1
测试文件夹/测试文件1.txt
Normal file
@@ -0,0 +1 @@
|
||||
这是一个测试文件1
|
||||
1
测试项目/css/style.css
Normal file
1
测试项目/css/style.css
Normal file
@@ -0,0 +1 @@
|
||||
模拟文件内容: 测试项目/css/style.css
|
||||
1
测试项目/images/logo.png
Normal file
1
测试项目/images/logo.png
Normal file
@@ -0,0 +1 @@
|
||||
模拟文件内容: 测试项目/images/logo.png
|
||||
1
测试项目/index.html
Normal file
1
测试项目/index.html
Normal file
@@ -0,0 +1 @@
|
||||
模拟文件内容: 测试项目/index.html
|
||||
1
测试项目/js/main.js
Normal file
1
测试项目/js/main.js
Normal file
@@ -0,0 +1 @@
|
||||
模拟文件内容: 测试项目/js/main.js
|
||||
Reference in New Issue
Block a user