分类 PHP 下的文章

前言

利用PHP把所有的CSS JS 处理压缩成一个文件输出

PHP处理CSS

<?php  
    header('Content-type: text/css');  
    ob_start("compress");  
    function compress($buffer) {  
        $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);  
        $buffer = str_replace(array(" 
        ", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);  
        return $buffer;  
    }  
    include('第一个CSS文件');   //例如当前PHP文件下的 ./main.js
    include('第二个CSS文件');   //复制调用更多JS文件
    ob_end_flush();  //输出压缩后的内容
?>

CSS调用

 <link rel="stylesheet" type="text/css" href="处理CSS的PHP文件地址"/>

PHP处理JS

<?php
    error_reporting(E_ALL & ~E_NOTICE);
    if(extension_loaded('zlib')){
        ob_start('ob_gzhandler');
    }
    header ("content-type:application/x-javascript; charset: UTF-8");
    header ("cache-control: must-revalidate");
    $offset = 60 * 60 * 24; //js文件的距离现在的过期时间,这里设置为一天
    $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
    header ($expire);
    ob_start("compress");
    function compress($buffer) {
        $buffer = preg_replace('/\/\/.*/','', $buffer);
        $buffer = str_replace(array("
        ", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
        return $buffer;
    }
    include('js文件一'); //例如当前PHP文件下的main.js
    include('js文件二'); //复制调用更多JS文件
    if(extension_loaded('zlib')){
        ob_end_flush(); //输出压缩后的内容
    }
?>

JS调用

<script src="处理JS的PHP文件地址" type="text/javascript" charset="utf-8"></script>

<?php
$text = "123456789";
//保存一段文字
echo substr($text,strripos($text,"5")+1);
//输出5之后内容
echo substr($text,0,strrpos($text,"5"));
//输出5之前内容
echo substr(substr($text,0,strrpos($text,"8")),strripos(substr($text,0,strrpos($text,"8")),"5")+1);
//输出5之后8之前的内容
?>


<?php
preg_match('/.*?<p>(\d*?)<\/p>.*?/', "<p>www.svipbox.cn</p>", $res);
echo $res;
//输出 www.svipbox.cn
?>

一款垃圾分类的接口源码

<?php
header('Access-Control-Allow-Origin:*');
header('Content-type:application/json; charset=utf-8');
error_reporting(0);
function myCurl($url){
    $ch = curl_init();     // Curl 初始化
    $timeout = 30;     // 超时时间:30s
    $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    if($ip != ""){
        $arr = explode(",",$ip);
        $ip = $arr[0];
    }else{
        $ip = $_SERVER["REMOTE_ADDR"];
    }
    $ua='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36';
    $header = array('X-FORWARDED-FOR:'.$ip, 'CLIENT-IP:'.$ip);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_ENCODING, "");
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_USERAGENT, $ua);
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}
!empty($_GET['keyword']) ? $_GET['keyword'] : exit(json_encode([
    "code"=>-1,
    "msg"=>"请输入垃圾名字!"
],JSON_UNESCAPED_UNICODE));
$json = json_decode(myCurl("https://quark.sm.cn/api/rest?method=sc.operation_sorting_category&app_chain_name=waste_classify&q=".$_GET['keyword']));
 
if ($json->data->waste_type == "" || $json->data->category==null){
    $output = [
        "code"=>-1,
        "msg"=>"该垃圾暂未识别!"
    ];
} else{
    $output = [
        "code"=>1,
        "msg"=>"查询成功!",
        "data"=>$json->data->waste_type
    ];
}
exit(json_encode($output,JSON_UNESCAPED_UNICODE));