<?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'));
<!doctype html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <bod...
本篇文章不是讲解如何用.net开发自己的dll然后PHP通过com调用。主要记录PHP官方支持的DOTNET 基本语法如下:$obj = new DOTNET("assembly", "classname")a...
php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...
(1).在PHP中可以查看的环境变量包括: (1.1).电脑环境变量 (2.1).服务器环境变量(2).getenv()函数获取一个环境变量的值.参数1是环境变量的key,参数2值为true的时候仅从你的电脑环境变量中查找,参数2值为false会从两种变量中全部查询//获取我电脑登录的用户名,输出A...
参数中包含gb2312的字符串,返回结果是false或者null(不同PHP版本具有差异性)代码:<?php $dbms = 'mysql'; $host = '192.168.8.8'; $dbName =&n...