分类目录归档:PHP

php 过滤非中文,数字,字母的特殊字符

搜索引擎吃进数据的时候,是不需要那些奇怪的字符的 $str = "?><?》”\"《喂喂喂,555?,12312。 3》《|“:L}{P+_)In thsdff0?><M<>\"s~!@#$%^&*()+_)(*&dsdffsde~!@#¥%……&*5545445()+——)(*&……%¥#@!~ 电影_后天 230809-peopl.e die我d.(*&^%$#@!!~"; echo match_chinese($str);   function match_chinese($chars,$encoding=’utf8′) { $pattern =($encoding==’utf8′)?’/[\x{4e00}-\x{9fa5}a-zA-Z0-9,,。 ]/u’:'/[\x80-\xFF]/’; preg_match_all($pattern,$chars,$result); $temp =join(”,$result[0]); return $temp; }

发表在 PHP | 标签为 , , | 留下评论

thinkphp的调试信息如何关闭

经常上线的Thinkphp 项目带着debug信息,下面来关闭thinkphp的调试信息 1.在 /common/conf 修改config.php ‘SHOW_PAGE_TRACE’ =>FALSE, 2. 也修改了入口文件根目录下的index.php define(’APP_DEBUG’, false); 3.最后把 /Think/Common/Conf/debug.php 全都注释掉了。还是有调试的出来。 4.runtime 缓存文件全部删除掉

发表在 PHP | 标签为 | 留下评论

一次性备份mysql全部的数据库

遍历mysql 数据库 有多少表 #!/bin/sh BIN_DIR="/usr/local/mysql/bin" DATE=`date +%F` BCK_DIR="/backup/backupwebsite/mysql/all/$DATE" mkdir -p $BCK_DIR DBS=`mysql -Bse "show databases"|grep -v "information_schema" |grep -v "test"` for DB_NAME in $DBS do echo $DB_NAME done 一次性备份mysql数据库所有表 #!/bin/sh BIN_DIR="/usr/local/mysql/bin" DATE=`date +%F` BCK_DIR="/backup/backupwebsite/mysql/all/$DATE" mkdir -p $BCK_DIR DBS=`mysql -Bse "show … 继续阅读

发表在 Linux, PHP | 留下评论

windows下的TortoiseSVN自动提交SVN

写个bat 调用exe文件 svn.bat cd C:\Program Files\TortoiseSVN\bin start TortoiseProc.exe /command:update /path:"D:\SVNBack\" /closeonend:3 closeonend:3 没有异常就关闭窗口 测试的时候可以加上这两句 echo 提交完成,自动退出 pause 每隔一分钟执行一次提交(有点频繁,客观可以根据月小升的这个改成30分钟一次) /sc表示指定计划频率,/mo时间间隔,/tn指定的唯一任务名,/tr要执行的程序路径。更详细说明可以通过SCHTASKS /Create /?查看。 schtasks /create /sc minute /mo 1 /tn "mySvnTask" /tr D:\SVNBack\svn.bat 停止任务执行 schtasks /end /tn mySvnTask 删除任务执行 schtasks /delete /tn … 继续阅读

发表在 PHP | 标签为 , , | 留下评论

DEVSQL STDEVA 方差标准差概念,及代码实现

标准差主要为了测算样本离散的程度,比如用来衡量一个学生成绩的稳定性。股票价格的稳定性。数学的魔力还是蛮多的。 DEVSQ 返回数据点与各自样本平均值差的平方和 DEVSQ(number1,number2,…….)  Excel中有STDEV、STDEVP;STDEVA,STDEVPA四个函数,分别表示样本标准差、总体标准差;包含逻辑值运算的样本标准差、包含逻辑值运算的总体标准差(excel用的是“标准偏差”字样)。 在计算方法上的差异是:样本标准差^2=(样本方差/(数据个数-1));总体标准差^2=(总体方差/(数据个数))。 函数的excel分解: ⑴stdev()函数可以分解为(假设样本数据为A1:E10这样一个矩阵): stdev(A1:E10)=sqrt(DEVSQ(A1:E10)/(COUNT(A1:E10)-1)) ⑵stdevp()函数可以分解为(假设总体数据为A1:E10这样一个矩阵): stdevp(A1:E10)=sqrt(DEVSQ(A1:E10)/(COUNT(A1:E10))) 同样的道理stdeva()与stdevpa()也有同样的分解方法。 一般使用stdevp() 总体标准差 标准差(Standard Deviation),在概率统计中最常使用作为统计分布程度(statistical dispersion)上的测量。标准差定义是总体各单位标准值与其平均数离差平方的算术平均数的平方根。它反映组内个体间的离散程度。测量到分布程度的结果,原则上具有两种性质: 为非负数值, 与测量资料具有相同单位。一个总量的标准差或一个随机变量的标准差,及一个子集合样品数的标准差之间,有所差别。 标准计算公式: 假设有一组数值X₁,X₂,X₃,……Xn(皆为实数),其平均值(算术平均值)为μ,公式如图1。  标准差也被称为标准偏差,或者实验标准差,公式为  。 简单来说,标准差是一组数据平均值分散程度的一种度量。一个较大的标准差,代表大部分数值和其平均值之间差异较大;一个较小的标准差,代表这些数值较接近平均值。 <?php /* 方差计算 */   $arr = array();   $str = "95,85,75,65,55,45"; $arr … 继续阅读

发表在 PHP | 标签为 , | 留下评论

apache 自带压力测试工具ab 来场测试吧

apache自带压力测试工具 叫 ab 装了apache 在bin下就有了。 ab -n 20 -c 10 http://java-er.com/ -n 请求数量 -c并发数 你也可以 ab -n 1000 -c 100 your domain 返回结果 This is ApacheBench, Version 2.3 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache … 继续阅读

发表在 JAVA, Linux, PHP | 标签为 , , | 留下评论

php数组的21个操作合并,拆分,删除,排序…

1. 合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为: array array_merge (array array1 array2…,arrayN) 这个函数将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。 2. 追加数组 array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组.两者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式.array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。还有一个数组合并的形式,就是递归追加数组。其形式为: array array_merge_recursive(array array1,array array2[…,array arrayN]) 程序实例如下: 现在键 mango 指向一个数组,这个数组由两个颜色值组成的索引数组。 3. 连接数组 array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。其形式为: array array_combine(array keys,array values) 注意,两个输入数组必须大小相同,不能为空。示例如下 4. 拆分数组 array_slice() array_slice()函数将返回数组中的一部分,从键offset开始,到offset+length位置结束。其形式: array array_slice (array array, int … 继续阅读

发表在 PHP | 标签为 , , | 留下评论

海外支付stripe对接支付

strip支付 https://stripe.com/docs/checkout/tutorial <form action="index.php" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="stripe-button" data-key="pk_test_wIAv7SdDJV2B6zPPUdnXnJCd" data-amount="999" data-name="Leoptique Inc." data-description="Widget" data-image="https://stripe.com/img/documentation/checkout/marketplace.png" data-locale="auto"> </script>     </form> 测试的信用卡号 4242424242424242 各种测试的信用卡 https://stripe.com/docs/testing#international-cards 注意填写日期的时候,尽管可以随便写,但是你不能写年份低于当前的,比如15 就不行。我写19就可以了 2019年到期 2015年到期,就不行了,说明卡过期了。 strip 返回的数据,采用POST方式 array(3) { ["stripeToken"]=> string(28) "tok_19xSp5GoFgQiAmhVvbVsCIGI" ["stripeTokenType"]=> string(4) "card" ["stripeEmail"]=> string(15) "asdasdf@afd.com" … 继续阅读

发表在 PHP | 标签为 , , , | 留下评论

php小函数,遍历文件夹的4种姿态

php遍历文件夹,不少时候还是很需要的 /*获取所有文件*/ function get_all_files( $path ){ $list = array(); foreach( glob( $path . ‘/*’) as $item ){ if( is_dir( $item ) ){ $list = array_merge( $list , get_all_files( $item ) ); } else{ $list[] = $item; } } return $list; … 继续阅读

发表在 PHP | 标签为 , , | 留下评论

mysql 调用,新手常犯的10个错误

经常收到安全部门的警告邮件,SQL注入,XSS攻击漏洞,等等。偶尔还被黑客挂了小马,郁闷不。 数据库执行太慢(月小升博客的经验,基本是没有正确使用索引导致) 看看MYSQL常犯的11个错误 1、使用MyISAM而不是InnoDB MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB。 MyISAM是默认使用的。但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的。MyISAM不支持外键的 约束,这是保证数据完整性的精华所在啊。另外,MyISAM会在添加或者更新数据的时候将整个表锁住,这在以后的扩展性能上会有很大的问题。 解决办法很简单:使用InnoDB。 2、使用PHP的mysql方法 PHP从一开始就提供了MySQL的函数库。很多程序都依赖于mysql_connect、mysql_query、mysql_fetch_assoc等等,但是PHP手册中建议: 如果你使用的MySQL版本在4.1.3之后,那么强烈建议使用mysqli扩展。 mysqli,或者说MySQL的高级扩展,有一些优点: 有面向对象的接口 prepared statements(预处理语句,可以有效防止SQL-注入攻击,还能提高性能) 支持多种语句和事务 另外,如果你想支持多数据库那么应该考虑一下PDO。 3、不过滤用户输入 应该是:永远别相信用户的输入。用后端的PHP来校验过滤每一条输入的信息,不要相信JAVAscript。像下面这样的SQL语句很容易就会被攻击: $username = $_POST["name"]; $password = $_POST["password"]; $sql = "SELECT userid FROM usertable WHERE username=’$username’AND password=’$password’;"; // run query… 这样的代码,如果用户输入”admin’;”那么,就相当于下面这条了: SELECT userid … 继续阅读

发表在 PHP, 数据库 | 标签为 , , | 留下评论