kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

php判断客户端是否是微信内置客户端

https://www.cnblogs.com/caicaizi/p/5629190.html

微信内置浏览器的渲染方式在某些方面和其他浏览器不同,所以有时候需要做一些兼容性处理,那么就需要判断是否是微信内置浏览器。最好的判断方式就是通过 User Agent 来判断。

在iPhone下,返回

1
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2

在Android下,返回

1
Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255

不难发现微信浏览器为 MicroMessenger ,并且有版本号,也可以判断手机类型为iPhone还是Android

1
2
3
4
5
6
7
function is_weixin()
{
	if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
		return true;
	}
	return false;
}

PHP image转换为base64

https://blog.csdn.net/qq_18979049/article/details/78610502

Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。比如上面那串字符,其实是一张小图片,将这些字符复制黏贴到火狐的地址栏中并转到,就能看到它了,一张1X36的白灰png图片。

在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。

目前,Data URI scheme支持的类型有:

1
2
3
4
5
6
7
8
9
10
11
12
data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/javascript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据

https://www.wubin.work/blog/articles/357

image对象转换base64

在使用php合成图片的时候,遇到了这么一个问题。

1
2
3
4
$img = imagecreatetruecolor($graphWidth,$graphHeight);
.....
header("Content-type: image/png");
imagepng($img);

最终我要求的是将生成的图片对象,输出为Base64然后传送给前端,让前端接收。

解决:

之所以不起作用,是因为其中的图像$img是资源,而不是实际的PNG图像。当您调用时imagepng(),它将输出图像。我要做的是创建一个输出缓冲区,并对其进行base-64编码。

1
2
3
4
5
ob_start();
imagepng($img);
$buffer = ob_get_clean();
ob_end_clean();
echo base64_encode($buffer);

最后,要忘记更改Content-Type标题,因为它不再是image/png。

最终转换为base64可以访问的格式是:

1
2
3
4
5
6
7
8
9
// 创建缓冲区
ob_start();
imagepng($img);
$buffer = ob_get_clean();
ob_end_clean();
$base64 = base64_encode($buffer);
$imageData = 'data:'. "image/png" . ';base64,' . $base64;

echo $imageData;

注意,一个有效的base64格式为:

1
data:image/png;base64, ...........

可以使用这个工具查看:http://tool.wubin.com/img2base64

图片转换为base64

php转换本地图片为base64

1
2
3
4
5
6
7
8
9
10
$filename = 'xxxx'; //本地图片在服务器上的路径
$imageDetails = getimagesize($filename);
if ($fp = fopen($filename,"rb", 0)) {
	$picture = fread($fp,filesize($filename));
	fclose($fp);
	$base64 = chunk_split(base64_encode($picture));
	$imageData = 'data:'.$imageDetails['mime'].';base64,' . $base64;
	//输出base64图片代码...
	echo $imageData;
}

php将远程图片转为base64的方法

1
2
3
4
5
6
$img_url = ''; //远程图片地址
$imageInfo = getimagesize($img_url);
$content = @file_get_contents($img_url); 
$base64Data = 'data:'.$imageInfo['mime'].';base64,'.base64_encode($content);
//输出base64图片数据流
echo $base64Data;

php 创建zip压缩文件

https://www.php.cn/faq/415187.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
	$zip = new ZipArchive;
	$zipname = $path . '/' . $uploadid . date('__Ymd_His') . '.zip';
	if ($zip->open($zipname, ZipArchive::CREATE) === false) {
		die('zip 压缩失败');
	}


	$fname = "f.docx";
	$filename = "{$path}/{$fname}";

	$zip->addFile($filename, $fname);

	$zip->addFromString('ff/f.txt', '要添加到new.txt文件中的文本');

	$zip->close();