<?php
/**
* 将base64字符串创建为图片文件
* @param string $base64 base64原始字符串
* @param string $path 保存文件的目录
* @param string $filename 文件名(不要带格式后缀)
* @return array 成功:state 1 filename:返回的文件名 失败:state 2 err:返回详细错误
*/
function createBase64($base64, $path, $filename)
{
$res = [];
//匹配base64字符串格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64, $result))
{
//保存最终的图片格式
$postfix = $result[2];
$base64 = base64_decode(substr(strstr($base64, ','), 1));
$filename = $filename . '.' . $postfix;
$path = $_SERVER["DOCUMENT_ROOT"] . $path . $filename;
//创建图片
if (file_put_contents($path, $base64))
{
$res['state'] = 1;
$res['filename'] = $filename;
}
else
{
$res['state'] = 2;
$res['err'] = 'Create img failed!';
}
}
else
{
$res['state'] = 2;
$res['err'] = 'Not base64 char!';
}
return $res;
}
//前端传来的base64,ajax发送的base64请不要做任何处理
$base64 = $_POST['base64'];
var_dump($base64);
//返回结果state=1的时候就是成功,错误信息在err中
var_dump(createBase64($base64, '/', 'girl')); (1).学习目标: 了解常见信号类型(百度PHP支持的信号类型),(2).相关函数学习: (2.1).pcntl_signal函数用于设置一个信号管理器接收进程信号,参数1:信号类型,参数2:回调函数,用于在接收到参数1类型的信...
<?php //php7+ define('CONFIG', [ 'MYSQL' => '127.0.0.1',  ...
有时候我们需要爬一个接口,但是这个接口需要很多参数,包括header和cookie要去编写,使用php curl模拟实在太慢。我们可以通过浏览器的network来复制请求为curl命令。例如我需要模拟请求接口地址:https://www.xkmz.cc/Ajax/Debug/delly,我们只需要在...
最近在项目中处理一个关于商品数据重复需要删除多余的商品记录,但是删除一条商品必然要把关联的其他表商品的id和其他商品信息更换为正确的,删除一个商品记录,同时要去修改100多张表的关联商品数据,在项目中引用了tp orm 1.2版本,由于项目是php5.6版本,没法使用最新orm,在代码中每处理1个商...
【一】.基本用法首先看看官方对send方法的解释:Sets the return value of the yield expression and resumes the generato...
(1).管道是干嘛的?管道是用于进程之间通信的,传播或交换信息(2).管道有几种?(2.1).匿名管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。通常是指父子进程关系。(2.2).高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中...