后台进入:
http://www.xuduowei.com/tc/php2/index.php/Admin
用户的模块管理,增,删,改,查,分页,搜索分页,权限分配。
本项目仅仅只有后端部分,部门核心功能:
登录,验证码,分页,搜索分页,权限分配,可精确到按钮思路!

徐多蔚APP开发,合肥物联网项目开发,合肥网络开发,合肥项目高端定制,企业oa开发,合肥小程序开发,合肥公众号开发,合肥网络安防 – 徐多蔚 xuduowei
联系方式[微信]:徐多蔚15309695130 感恩有您的陪伴,我们用心服务每一位客户 – 徐多蔚 xuduowei
后台进入:
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());
phpstudy的Apache环境下如何安装SSL证书?网上很多教程,然并卵。本文真实可靠实际操作,为大家教学phpstudy下A环境安装SSL证书的正确方法。不用花钱请大神,希望大家分享该知识为https普及做贡献。

首先,开启apache的编译ssl模块,如图打开phpstudy—其它选项设置—PHP扩张及设置—php扩展—php-openssl前面打勾

如图点击打开修改httpd.conf配置文件,打开找到#LoadModule ssl_module modules/mod_ssl.so,去掉前面的注释符#(保证前面没有#号),使得ssl模块生效。
增加一条引用语句 Include conf/vhosts_ssl.conf
依次打开phpstudy安装文件,打开Apache打开conf文件,在conf文件夹中创建一个名为vhosts_ssl.conf的配置文件。编辑vhostsssl.conf文件,增加如下内容:
Listen 443
SSLStrictSNIVHostCheck off
SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL
SSLProtocol all -SSLv2 -SSLv3
<VirtualHost *:443>
DocumentRoot “D:\phpStudy\WWW\bbs”(网站根目录路径)
ServerName www.yuming.com(更换成自己的域名)
ServerAlias yuming.com(更换成自己的域名)
<Directory “D:\phpStudy\WWW\bbs”>(网站根目录路径)
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile “D:\phpStudy\Apache\conf\ssl\XXX.cer”(证书路径)
SSLCertificateKeyFile “D:\phpStudy\Apache\conf\ssl\XXX.key”(证书路径)
</VirtualHost>

将下载好的证书放入ssl目录路径D:\phpStudy\Apache\conf\ssl\如图,注意文件格式,.cer和.key只需要这两个证书文件。你可以右键属性查看文件类型确认文件格式正确不。

防火墙端口入站规则哪里关闭443,绿勾变成灰色就关闭了,关闭后现在重启phpstudy,正常重启后,在浏览器里面输入https://的域名就能看到安全锁出来啦。
地址栏未能显示绿色锁标是因为网站有http非加密资源,如图片,css,js等,需要全部调整为https开通协议资源才能挂锁成绿色。

来源:https://jingyan.baidu.com/article/49ad8bceb4dc735835d8fa6a.html
A.BAT 文件放www文件夹中,内容如下:
E:\phpStudy\php\php-5.4.45\php -f b.php
pause
================================
b.php也放www中,内容如下:
<?php
echo 666;
?>
若需要定时器处理,比如:10s执行一次【经过实测无误。】。
bat文件内容如下:
@echo off
E:\phpStudy\php\php-5.4.45\php -f b.php
:start
ping -n 10 127.1>NUL
E:\phpStudy\php\php-5.4.45\php -f b.php
goto start
pause
===========
若要实现每执行一次都换行,可以在bat中这样 echo. 注意:echo后面有一个点。
@echo off
E:\phpStudy\php\php-5.4.45\php -f b.php
echo.
:start
ping -n 3 127.1>NUL
E:\phpStudy\php\php-5.4.45\php -f b.php
echo.
goto start
pause
提示:若bat中显示中文乱码,则用:iconv(“utf-8″,”gb2312//IGNORE”,”中文”);处理下,转下编码。因为bat中编码中文是gb2312!若b.php是ansi编码则不需要转码的哦。
echo iconv(“utf-8″,”gb2312//IGNORE”,”中文”);处理下即可,若需要换行则串接一个 “\r\n”
完整b.php代码如下:
echo file_get_contents(‘http://127.0.0.1/oop,180104/tp3/index.php/Admin/index/aaa’);
echo “处理完成\r\n”;