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; |
|
} |
|
?>
|