针对windows服务器,推荐服务器组合包工具:phpstudy,下载链接:点击这里下载
具体请参见:https://jingyan.baidu.com/article/f79b7cb31dae009144023e97.html

徐多蔚APP开发,合肥物联网项目开发,合肥网络开发,合肥项目高端定制,企业oa开发,合肥小程序开发,合肥公众号开发,合肥网络安防 – 徐多蔚 xuduowei
联系方式[微信]:徐多蔚15309695130 感恩有您的陪伴,我们用心服务每一位客户 – 徐多蔚 xuduowei
针对windows服务器,推荐服务器组合包工具:phpstudy,下载链接:点击这里下载
具体请参见:https://jingyan.baidu.com/article/f79b7cb31dae009144023e97.html
@echo off
rem 关闭回显
start “C:\Program Files\Internet Explorer\iexplore.exe” “这里写上你接口url1”
start “C:\Program Files\Internet Explorer\iexplore.exe” “这里写上你接口url2”
rem 使用浏览器打开url地址,5秒后自动关闭ie
ping 127.0.0.1 -n 5 >nul
taskkill /im iexplore.exe /f
针对window系统,如何定时执行这个bat文件,以定时执行接口文件呢?
以win7服务器为例:
1、开始–控制面板–管理工具–计划任务
2、在“任务计划程序库”上右键–创建基本任务

3、具体操作步骤








提示:若是需要重启启动电脑,如下:
程序脚本:C:\Windows\System32\shutdown.exe
参数:-r -f -t 0

https://jingyan.baidu.com/article/e6c8503c55529be54f1a18d1.html
后台进入:
http://www.xuduowei.com/tc/php2/index.php/Admin
用户的模块管理,增,删,改,查,分页,搜索分页,权限分配。
本项目仅仅只有后端部分,部门核心功能:
登录,验证码,分页,搜索分页,权限分配,可精确到按钮思路!
项目中有时候需要得到文件名和数据库中的字段进行匹配。我们就可以按若下2个函数作为核心函数进行业务逻辑处理。
similar_text() 函数计算两个字符串的匹配字符的数目。
该函数也可以计算两个字符串的相似度(以百分比计)。
代码如下:
similar_text(‘你好啊,早上好’, ‘你好啊’, $percent);
echo $percent;
die;
//得到文件名【不要扩展名】
$f=”aaaa.gif”;
$ext_arr=explode(“.”,$f);
$extString=$ext_arr[count($ext_arr)-1];
echo basename($f, “.”.$extString);
mysql 自定义函数。用来计算字符A转换成字符串B所花费的代价,数值越小,代价越低。(换句话来说,就计算两个字符串的相似度,值越小相似度越高)。
该实现采用了编辑距离算法,详见:http://baike.baidu.com/link?url=EhmqDIoInSurOWI8VfR5bdmwxuYjPGKgqET2oNyv9–zDREhTUe5sYdxWLxS4v3tdK1PJVOFaOy9c6uHoElBSK
使用源代码的话,从第1步开始。如果是直接使用二进制发布包的话,直接从第4步开始即可。
1)下载本代码
2)安装mysql开发包。
mysql主分支文件名类型:libmysqlclient15-dev mariaDB分支文件类似:MariaDB-10.0.21-centos7-x86_64-devel
3)编译源代码:
g++ -shared -fPIC -I /usr/include/mysql -o lev_distance.so lev_distance.cpp
4)将so文件复制到mysql插件目录
cp lev_distance.so /usr/lib64/mysql/plugin
5)创建mysql自义函数。
CREATE FUNCTION levenshtein RETURNS INTEGER SONAME ‘lev_distance.so’;
6)完成。
7)测试:
SELECT levenshtein(‘abc’,’dbca’)
项目主页:http://www.open-open.com/lib/view/home/1440302113917
文章来源:http://www.genshuixue.com/i-cxy/p/11592035
'HTML_CACHE_ON' => true, // 开启静态缓存
'HTML_CACHE_TIME' => 60, // 全局静态缓存有效期(秒)
'HTML_FILE_SUFFIX' => '.html', // 设置静态缓存文件后缀
'HTML_CACHE_RULES' => array( // 定义静态缓存规则
// 定义整个Users控制器 生成的路径App/html/Users/ html会自动生成
'Users:' => 'Users/{:action}_{id}',
)
会按照缓存初始化时候的参数进行缓存数据,也可以在缓存设置的时候改变参数,例如:
// 缓存数据300秒
S(‘name’,$value,300);
甚至改变之前的缓存方式或者更多的参数:
// 采用文件方式缓存数据300秒
S(‘name’,$value,array(‘type’=>’file’,’expire’=>300));
如果你在缓存设置的时候采用上面的数组方式传入参数的话,会影响到后面的缓存存取。
缓存读取
// 读取缓存
$value = S(‘name’);
缓存读取的是前面缓存设置的值,这个值会受缓存初始化或者缓存设置的时候传入的参数影响。 如果缓存标识不存在或者已经过期,则返回false,否则返回缓存值。
缓存删除
// 删除缓存
S(‘name’,null);
删除缓存标识为name的缓存数据。
方案一:
if(S('Users_index')){
$arr=S('Users_index');
}else{
$arr=$obj->table(C("DB_PREFIX")."users as a")
->field("a.*,b.groupname")
->where($tj)
->join('left JOIN '.C("DB_PREFIX").'users_group as b ON b.id=a.gid')
->limit($Page->firstRow.','.$Page->listRows)
->select();
S('Users_index',$arr,array('type'=>'file','expire'=>10));
}
或者直接按如下写法:
方案二:推荐使用,效果和方案一一样的,但是写法更简单。
$arr=$obj->table(C("DB_PREFIX")."users as a")
->field("a.*,b.groupname")
->where($tj)
->join('left JOIN '.C("DB_PREFIX").'users_group as b ON b.id=a.gid')
->limit($Page->firstRow.','.$Page->listRows)
->cache('Users_index',10)
->select();
提示:生成的文件缓存存储在:App\Runtime\Temp 目录中。
前端效果:http://www.xuduowei.com/tc/php1

后台登录:http://www.xuduowei.com/tc/php1/admin888

后台功能模块预览:
登录成功后,首先看到的是开发信息和基本设置。
基本设置中有个网站设置及网站设置-增加变量,这个主要是更方便参数的修改和扩展,比如网站的名称,网站的关键字,网站的描述,网站的联系人电话,地址,qq,email,网站备案号等。
基本设置中有个缩略图管理,这个主要是管理文章记录缩略图多余的情况,比如修改文章缩略图了,或者删除文章记录了,有可能其对应的缩略图文件还在。这个时候,我们就需要对多余的缩略图进行删除操作。

栏目管理:主要是cms内容列表查看,增加,修改,删除,以及分类的管理【实现无限极分类】。如下图:

用户管理:查看用户,添加用户,如下图:

单页管理:重点是单页业务处理,如:关于我们,服务流程,公司简介。如下图:

权限思路分析:
提示:ci中若要模拟tp中公共类的继承。
参考格式如下:
@include_once(APPPATH . ‘controllers/admin/Common.php’);
class Welcome extends Common {
}
其中Common.php代码如下:
class Common extends CI_Controller {
}
解说:
ci对CI_Controller做了自动包含,但是对其他的没有做自动包含。需要手动include包含类文件。
在程序开发时,上传图片加水印是常见的功能。
但是常规加水印的方法对GIF动画图片就会产生问题,加上水印后,GIF 图片就不动了。
那么有没有办法给GIF动画图片加上水印后,保持原有的动画效果呢(效果图在最后)?
下面就给大家详细的说说:
一、首先分别下载3个开源的php类库
imageworkshop
composer 地址:https://packagist.org/packages/sybio/image-workshop
GifFrameExtractor
composer 地址:https://packagist.org/packages/sybio/gif-frame-extractor
gifcreator
composer 地址:https://packagist.org/packages/sybio/gif-creator
二、准备好gif图片
三、主要代码
1.你的GIF地址
$gifPath = ‘123.gif’;
2.获取gif宽和高(后面有用)
$imginfo=getimagesize($gifPath);
3.判断图片是否是GIF动画图
if (GifFrameExtractor::isAnimatedGif($gifPath))
4.将GIF图片释放成一帧一帧的图
$gfe = new GifFrameExtractor();
$frames = $gfe->extract($gifPath,true);
5.初始化水印
$watermarkLayer = ImageWorkshop::initTextLayer(‘代码庸医’, ‘simkai.ttf’, 15);
我这里是直接用字作为水印,也可以用图片作为水印,方法如下:
$watermarkLayer = ImageWorkshop::initFromPath(‘你的水印图片地址’);
6.给每一个图片帧加上水印
foreach ($frames as $frame)
{
$frameLayer = ImageWorkshop::initFromResourceVar($frame[‘image’]);
$frameLayer->resizeInPixel($imginfo[0], $imginfo[1], true); // 设置图片高度宽度
$frameLayer->addLayerOnTop($watermarkLayer, 20, 20, ‘LB’); // 水印位置
$retouchedFrames[] = $frameLayer->getResult();
}
7.合并每一帧生成加上水印的GIF图片
$gc = new GifCreator();
$gc->create($retouchedFrames, $gfe->getFrameDurations(), 0);
file_put_contents(‘pic/newgif.gif’, $gc->getGif());