mirror of https://github.com/helloxz/MDtoHTML
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.8 KiB
78 lines
1.8 KiB
<?php
|
|
header('Access-Control-Allow-Origin:*');
|
|
error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED);
|
|
include_once("Parsedown.php");
|
|
|
|
$Parsedown = new Parsedown();
|
|
//获取URL地址
|
|
$url = $_GET['url'];
|
|
//获取文件后缀
|
|
$suffix = explode(".",$url);
|
|
$suffix = end($suffix);
|
|
//判断文件后缀
|
|
if($suffix != 'md') {
|
|
echo '尚未识别的文件!';
|
|
exit;
|
|
}
|
|
//对URL进行md5加密用于文件存储
|
|
$filename = md5($url);
|
|
$filename = "caches/".$filename.".md";
|
|
//获取文件修改时间
|
|
@$ftime = filemtime($filename);
|
|
(int)@$ftime = date('YmdH',$ftime);
|
|
(int)$thetime = date('YmdH',time());
|
|
|
|
//计算时差
|
|
$diff = $thetime - $ftime;
|
|
|
|
//获取样式
|
|
$style = $_GET['style'];
|
|
//获取方法
|
|
$method = $_GET['method'];
|
|
|
|
//判断URL地址
|
|
if(!filter_var($url, FILTER_VALIDATE_URL)) {
|
|
echo 'URL地址不合法!';
|
|
exit;
|
|
}
|
|
//清除缓存
|
|
if($method == 'clear') {
|
|
unlink($filename);
|
|
}
|
|
|
|
//如果文件存在
|
|
if((is_file($filename)) && ($diff <= 1)) {
|
|
$text = file_get_contents($filename);
|
|
}
|
|
//文件不存在
|
|
else{
|
|
$curl = curl_init($url);
|
|
|
|
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36");
|
|
curl_setopt($curl, CURLOPT_FAILONERROR, true);
|
|
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
|
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
|
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
|
|
|
$text = curl_exec($curl);
|
|
curl_close($curl);
|
|
|
|
$myfile = fopen($filename, "w");
|
|
fwrite($myfile, $text);
|
|
fclose($myfile);
|
|
}
|
|
|
|
$html = $Parsedown->text($text);
|
|
|
|
// 是否带有样式
|
|
switch ( $style )
|
|
{
|
|
case 'none':
|
|
echo $html;
|
|
break;
|
|
default:
|
|
include_once('style.php');
|
|
break;
|
|
}
|
|
?>
|