2020年2月
Jquery Ajax上传文件
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("上传失败");
});
});
});
PHP Redis hash(哈希)操作
/**
*
* 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);
编译安装Lua时报错 fatal error: readline/readline.h: 没有那个文件或目录
查询得知是缺少libreadline-dev
导致的,安装即可
apt install libreadline-dev
bash: pip: command not found
$ wget https://bootstrap.pypa.io/get-pip.py
#下载
$ python get-pip.py
#安装
$ pip -V
#查看版本