Files
hustoj/web/bsadmin/problem_import.php
2024-10-10 12:56:56 +08:00

151 lines
5.3 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Styles -->
<?php require("./header-files.php");
require_once("../include/my_func.inc.php");
require_once("../include/const.inc.php");
include_once("kindeditor.php");
?>
<title><?php echo $OJ_NAME;?> - Admin</title>
</head>
<body>
<?php require("./nav.php");?>
<?php
if ($mod=='hacker') {
header("Location:index.php");
}
$maxfile=min(ini_get("upload_max_filesize"),ini_get("post_max_size"));
function writable($path){
$ret=false;
$fp=fopen($path."/testifwritable.tst","w");
$ret=!($fp===false);
fclose($fp);
unlink($path."/testifwritable.tst");
return $ret;
}
?>
<div class="content-wrap">
<div class="main">
<div class="container-fluid">
<div class="row">
<div class="col-lg-8 p-0">
<div class="page-header">
<div class="page-title">
<h1>后台主页</h1>
</div>
</div>
</div><!-- /# column -->
<div class="col-lg-4 p-0">
<div class="page-header">
<div class="page-title">
<ol class="breadcrumb text-right">
<li>题目</li>
<li class="active">导入题目</li>
</ol>
</div>
</div>
</div><!-- /# column -->
</div><!-- /# row -->
<div class="main-content">
<div class="row">
<div class="col-lg-12">
<div class="card alert">
<div class="card-header">
<h4>导入问题</h4>
<div class="card-header-right-icon">
<ul>
<li class="card-close" data-dismiss="alert"><i class="ti-close"></i></li>
</ul>
</div>
</div>
<div class="card-body">
导入FPS格式的数据,确保文件大小在[<?php echo $maxfile?>]以内<br/>
或者在php.ini中修改upload_max_filesize和post_max_filesize<br/>
如果你失败了或者想导入大文件[10M+],尝试在php.ini中加大[memory_limit]的设置<br>
<?php
$show_form=true;
if(!isset($OJ_SAE)||!$OJ_SAE){
if(!writable($OJ_DATA)){
echo " 您需要将$OJ_DATA添加到php.ini的open_basedir设置中<br>或者你需要执行:<br>
<code>chmod 775 -R $OJ_DATA && chgrp -R www-data $OJ_DATA</code><br>
此时不能使用导入函数。<br>";
$show_form=false;
}
if(!file_exists("../upload"))mkdir("../upload");
if(!writable("../upload")){
echo "../upload 不是可写的, 对它执行<code>chmod 770</code>.<br>";
$show_form=false;
}
}
if($show_form){
?>
<br>
<style>
input[type=file] {
content: "233";
}
</style>
<form action='problem_import_xml.php' method=post enctype="multipart/form-data" class="form">
<label for=fps>导入问题</label>
<input type=file name="fps">
<?php require_once("../include/set_post_key.php");?><br>
<button type="submit" class="btn btn-dark btn-outline">导入</button>
</form>
<?php
}
?>
</div>
</div>
</div>
</div><!-- /# row -->
</div>
<!-- /# main content -->
CopyRight &copy; 1999-<?php echo date('Y');?> MasterOJ.All rights reserved
</div><!-- /# container-fluid -->
</div><!-- /# main -->
</div><!-- /# content wrap -->
<script src="assets/js/lib/jquery.min.js"></script><!-- jquery vendor -->
<script src="assets/js/lib/jquery.nanoscroller.min.js"></script><!-- nano scroller -->
<script src="assets/js/lib/sidebar.js"></script><!-- sidebar -->
<script src="assets/js/lib/bootstrap.min.js"></script><!-- bootstrap -->
<script src="assets/js/lib/mmc-common.js"></script>
<script src="assets/js/lib/mmc-chat.js"></script>
<!-- Chart js -->
<script src="assets/js/lib/chart-js/Chart.bundle.js"></script>
<script src="assets/js/lib/chart-js/chartjs-init.js"></script>
<!-- // Chart js -->
<script src="assets/js/lib/sparklinechart/jquery.sparkline.min.js"></script><!-- scripit init-->
<script src="assets/js/lib/sparklinechart/sparkline.init.js"></script><!-- scripit init-->
<!-- Datamap -->
<script src="assets/js/lib/datamap/d3.min.js"></script>
<script src="assets/js/lib/datamap/topojson.js"></script>
<script src="assets/js/lib/datamap/datamaps.world.min.js"></script>
<script src="assets/js/lib/datamap/datamap-init.js"></script>
<!-- // Datamap -->-->
<script src="assets/js/lib/weather/jquery.simpleWeather.min.js"></script>
<script src="assets/js/lib/weather/weather-init.js"></script>
<script src="assets/js/lib/owl-carousel/owl.carousel.min.js"></script>
<script src="assets/js/lib/owl-carousel/owl.carousel-init.js"></script>
<script src="assets/js/scripts.js"></script><!-- scripit init-->
</body>
</html>