Git强制提交
提交失败时可用强制提交进行覆盖,如果可以确定本地的是最新版本的话
git push origin 分支名 --force
git push origin master --force
提交失败时可用强制提交进行覆盖,如果可以确定本地的是最新版本的话
git push origin 分支名 --force
git push origin master --force
方法非常简单,首先引入 jquery.js 和 jquery.pjax.js
<script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script src="//cdn.bootcss.com/jquery.pjax/1.9.6/jquery.pjax.min.js"></script>
然后在body内放一个div作为容器,并设置一个id,我设置的id是pjax-container
。
<div id="pjax-container">
//在此处放置跳转页面时要更新的部分
</div>
然后在容器外添加以下代码
<script type="text/javascript">
$(document).pjax('a[href^="<?php Helper::options()->siteUrl()?>"]:not(a[no-pjax])', {
container: '#pjax-container',
fragment: '#pjax-container',
timeout: 8000
}).on('pjax:send', function() { //Pjax加载中执行
$("#pjax_loading").show(); //显示遮罩层与加载动画
}).on('pjax:complete', function() { //Pjax加载完成执行
$("#pjax_loading").hide(); //隐藏遮罩层与加载动画
});;
</script>
正常应该绑定事件,试了会没成功,就换了定时检查当前位置的方法
//定时执行,更改按钮状态
setInterval(function(){
//判断当前位置是否处于顶部,是则显示按钮,否则隐藏
if($(window).scrollTop() == 0){
$('#back-top').hide();
}else{
$('#back-top').show();
}
}, 100);
//点击按钮返回顶部
$('#back-top-btn').click(function() {
$('body,html').animate({
scrollTop: 0
},1000);
return false;
});
封装系统时遇到的问题,在cmd中使用 powershell.exe -file a.ps1
执行PowerShell脚本,路径正确但报错。
执行get-executionpolicy
,如果结果是 Restricted,表示当前禁止执行脚本。
执行set-executionpolicy -executionpolicy unrestricted
按Y允许即可.
打开网址 https://store.rg-adguard.net/,使用 PackageFamilyName
方式搜索 Microsoft.WindowsStore_8wekyb3d8bbwe
分别下载以下文件:
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
捕获未被捕获的错误,以HTML形式输出
<?php
class Exception_Handle
{
public static function register()
{
error_reporting(E_ALL);
set_error_handler(['Exception_Handle','noticeErrorCatch']);
register_shutdown_function(['Exception_Handle','fatalErrorCatch']);
}
public static function noticeErrorCatch($type, $message, $file, $line)
{
$msg = [
'Level' => $type,
'Message' => $message,
'File' => $file,
'Line' => $line
];
return self::outputErrorPage($msg);
}
public static function fatalErrorCatch()
{
if($error = error_get_last()){
$msg = [
'Level' => $error['type'],
'Message' => $error['message'],
'File' => $error['file'],
'Line' => $error['line']
];
return self::outputErrorPage($msg);
}
}
protected static function outputErrorPage($msg)
{
$buildHtml = function($arr){
$res = '';
foreach($arr as $k => $v){
$res .= "<p>{$k}:{$v}</p>";
}
return $res;
};
$outputMsg = $buildHtml($msg);
$fileOrder = $buildHtml(get_included_files());
$classOrder = $buildHtml(get_declared_classes());
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>500 - Internal Server Error</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
</head>
<style>
* { margin: 0; padding: 0;}
body { background-color: #c7c7c7;}
#message p,hr { margin: 10px 0;}
#message { width: 45%; margin: 64px auto; padding: 32px 64px; background-color: #FFFFFF;}
@media only screen and (max-width: 500px) { #message { width: 85%; margin: 32px auto; padding: 32px 5%;}}
</style>
<body>
<div id="message">
<h2>500 - Internal Server Error</h2>
<hr>
<h3>Error Message:</h3>
<?php echo $outputMsg;?>
<hr>
<h3>Included files:</h3>
<?php echo $fileOrder;?>
<hr>
<h3>Declared classes:</h3>
<?php echo $classOrder;?>
</div>
</body>
</html>
<?php
exit();
}
}
HTML部分
<form id="uploadForm" enctype="multipart/form-data"><input id="selectFile" type="file" name="file"/></form>
<button type="button" id="upload">确认上传</button>
Js部分
$(document).ready(function(){
$("#upload").click(function () {
if($('#selectFile').val().length == 0){
alert("请选择文件");
return;
}
var formData = new FormData($('#uploadForm')[0]);
$.ajax({
type: 'post',
url: "/",
data: formData,
cache: false,
processData: false,
contentType: false,
}).success(function (data) {
alert("上传成功");
}).error(function () {
alert("上传失败");
});
});
});
/**
*
* Hash操作
* 哈希操作
* 可理解为数据库操作
*
*/
//为user表中的字段赋值。成功返回1,失败返回0。若user表不存在会先创建表再赋值,若字段已存在会覆盖旧值。
$redis->hSet('user', 'name', '222');
//获取user表中指定字段的值。若user表不存在则返回false。
$redis->hGet('user', 'realname');
//查看user表的某个字段是否存在,存在返回true,否则返回false。
$redis->hExists('user', 'realname');
//删除user表的一个字段,不支持删除多个字段。成功返回1,否则返回0。
$redis->hDel('user', '222');
//同时设置某个user表的多个字段值。成功返回true。
$redis->hMset('user', ['name' => 'jet', 'age' => 18]);
//同时获取某个user表的多个字段值。其中不存在的字段值为false。
$redis->hMget('user', ['name', 'age']);
//获取某个user表所有的字段和值。
$redis->hGetAll('user');
//获取某个user表所有字段名。user表不存在时返回空数组,key不为user表时返回false。
$redis->hKeys('user');
//获取某个user表所有字段值。
$redis->hVals('user');
//为user表中不存在的字段赋值。若user表不存在则先创建,若字段已存在则不做任何操作。设置成功返回true,否则返回false。
$redis->hSetNx('user', 'realname', 'jetwu');
//获取某个user表的字段数量。若user表不存在返回0,若user不是hash表则返回false。
$redis->hLen('user');
//为user表中的指定字段加上指定的数值,若user表不存在则先创建,若字段不存在则先初始化值为0再进行操作,若字段值为字符串则返回false。设置成功返回字段新值。
$redis->hIncrBy('user', 'age', 10);
//为user表中的指定字段加上指定浮点数值。
$redis->hIncrBy('user', 'age', 1.5);