2020年1月

要将数组作为字符串传递,可将其序列化转换为字符串,编码传输后再反序列化得到数组内容。

$arr = [0, 1, 2, 3, 4, 5]; 

$string = serialize($arr);
//执行序列化

echo $string;
//a:6:{i:0;i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;}

$arr_2 = unserialize($string);
//反序列化,将字符串转换回数组

print_r($arr_2);
//Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 )

今天在编写程序时有一步需要通过URL携带一长串数据,想到的方法是把数据通过base64编码再进行传输,发现解码后数据变成乱码了。

TIM截图20200129231038.png

查询后得知php有专用于URL传输的编码函数

rawurlencode($string);
//传输前编码

rawurldecode($_GET['string']);
//接收后解码

前不久新域名备案通过了,就把博客的主域名改为新域名了,旧域名做了带参数301,代码如下

<?php
$request_url = 
isset($_SERVER['REQUEST_URL']) ? $_SERVER['REQUEST_URL'] : '';
//如有参数存入变量

header('HTTP/1.1 301 Moved Permanently');
//返回301码

header('Location: https://cwlog.net'.$request_url);
//跳转新域名

前几天给服务器装了LNMP一键包作为运行环境,相比面板少了自动备份等功能,查到可以将FTP挂在为本地目录,就尝试了一下。
首先给服务器安装软件 curlftpfs

dnf -y install epel-release
# CentOS 的源里没有 curlftpfs,需要先安装 epel-release

dnf -y install curlftpfs
# 安装 curlftpfs

curlftpfs 192.168.1.1 /path -o user=username:password
# 挂载,path为挂载在本地的目录,username为FTP用户名,password为FTP密码

umount /path
# 取消挂载


- 阅读剩余部分 -

TIM截图20200126213455.png

今天使用tar命令时多次出现此错误,但打包的文件是正常的,经过搜索得知tar命令默认使用相对路径,所以使用绝对路径会报此错误。
解决方法:在使用绝对路劲执行时加上-P(大写)参数