2017.03.02-2017.09.28 日常随笔
Posted llzhang123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017.03.02-2017.09.28 日常随笔相关的知识,希望对你有一定的参考价值。
1、ping域名能指定到对应ip即代表解析成功。请求超时有可能是ping防火墙关闭原因。
2、2014phpstudy升级到2016.目前项目2016用到的都是5.2.17版本。并设置对应版本的配置。
3、hosts右击无管理员运行选项,可以用管理员身份打开记事本,再去打开hosts
4、linux无法远程登录。购买的服务器可以更换系统盘
5、数据库盘的挂载
6、对动态磁盘的了解,不受盘符限制,称为卷
7、hosts的意义
8、解决文件clearup失败的原因
9、解决HTTP错误代码500的原因
10、打开磁盘管理器:diskmgmt.msc
11、删除服务 sc delete 服务名称
12、查看apache版本 cd到bin目录 httpd -v
13、查看本地IP地址:ipconfig
14、json_encode(将数组和对象,转换为json格式)
json_decode(将json文本转换为相应的PHP数据结构。)
json只接受utf-8编码的字符,json_encode()的参数必须是utf-8编码。
例:对象转化为json格式
class person
{
public $name;
public $age;
public $height;
function __construct($name,$age,$height)
{
$this->name = $name;
$this->age = $age;
$this->height = $height;
}
}
$obj = new person("zhangsan",20,100);
$foo_json = json_encode($obj);
echo $foo_json;
输出结果:
{"name":"zhangsan","age":20,"height":100}
{"country":"zg","province":[{"name":"hb","city":[{"name":"hs"},{"name":"zjk"},{"name":"sjz"}]},{"name":"bj","city":[{"name":"ft"},{"name":"cy"},{"name":"tz"}]}]}
{"country":"zg","province":[{"hb":["哈尔滨","大庆"]},{"bj":["广州","深圳","珠海"]}]}
总结:键值对{},多个值[]
通常情况下,json_decode()总是返回一个PHP对象。转换成数组var_dump(json_decode($json,ture));
15、静态属性,静态方法的使用
class user
{
private static $count = 0 ; //记录所有用户的登录情况.
public function __construct() {
self::$count = self::$count + 1;
}
public function getCount() {
return self::$count;
}
public function __destruct() {
self::$count = self::$count - 1;
}
}
$user1 = new user();
$user2 = new user();
$user3 = new user();
echo "now here have " . $user1->getCount() . " user";
echo "<br />";
unset($user3);
echo "now here have " . $user1->getCount() . " user";
16、抓包工具
17、删除连接在本地计算机上的远程连接计算机ip及密码信息
控制面板\\用户帐户\\凭据管理器
18、看看一个ip是否解析成功。ping一下!
19、去掉IE浏览器的友好提示。internet选项=》高级=》设置=》显示友好HTTP错误消息
20、磁盘联机:使用DISKPART.exe命令 解除策略
1.运行:cmd
2.输入:DISKPART.exe搜索
3.DISKPART> san
4.DISKPART> san policy=onlineall
5.DISKPART>list disk
6.DISKPART> select disk 1
7.DISKPART>attributes disk clear readonly
8.DISKPART>online disk
取消磁盘活动分区:
DISKPART
DISKPART>LIST DISK
DISKPART>SELECT DISK 1
DISKPART>SELECT PARTITION 1
DISKPART>INACTIVE
磁盘足够的情况下,安装软件显示磁盘空间不够
计算机=》属性=》/控制面板=》系统和安全=》系统=》高级=》性能、设置=》高级=》程序、更改=》盘符=》系统管理的大小、设置=》一路确定
21、只有苹果需要https证书。(APP需要,wap不需要)
22、开放平台主要针对app,公众平台是对属于wap公众号的后台。
23、访问localhost出现403错误。允许目录列表。
24、修改apache端口及默认目录:phpStudy设置=》端口常规设置
25、SELECT DISTINCT title from table 查重
26、window打开一个新窗口,并且显示父窗口地址
<head>
<script>
function openWin(){
window.open(\'\',\'\',\'width=200,height=100\');
alert(window.parent.location);
}
</script>
</head>
<body>
<input type="button" value="打开窗口" onclick="openWin()">
</body>
27、查看端口被谁使用:
netstat -ano
查看被占用端口PID
netstat -aon|findstr “上面端口号”
查看哪个进程netstat -ano
或者程序占用端口
tasklist|findstr "PID"
28、表复制
INSERT INTO t1 SELECT * FROM t2
29、静态方法可以不用实例化直接用类名调用,类名::方法名 / self::方法名
静态方法只能访问静态成员
静态属性和静态方法只占用一块内存,也就是说静态属性、方法所有实例对象公用一块内存,一经定义长期使用。共用。用户登录样例。
<?PHP
class user
{
private static $count = 0 ; //记录所有用户的登录情况.
public function __construct() {
self::$count = self::$count + 1;
}
public function getCount() {
return self::$count;
}
public function __destruct() {
self::$count = self::$count - 1;
}
}
$user1 = new user();
$user2 = new user();
$user3 = new user();
echo "now here have " . $user1->getCount() . " user";
echo "<br />";
unset($user3);
echo "now here have " . $user1->getCount() . " user";
?>
弊端不可以自动销毁
30、 microtime() 调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。 相加即为当前时间戳
date_default_timezone_set("PRC");
echo (microtime()); //0.83228000 1499050152
$mtime=explode(\' \',microtime());
$startTime=$mtime[1]+$mtime[0];
echo $startTime; //1499050193.0206
echo date(\'Y-m-d H:i:s\',time());
将时间转化为时间戳:
echo strtotime(\'17-07-22 00:00:00\');
例:
date_default_timezone_set(\'prc\');
echo strtotime(\'now\'),\'<br>\';//现在
echo strtotime(\'today\'),\'<br>\';//今天
echo strtotime(\'tomorrow\'),\'<br>\';//明天
echo strtotime(\'yesterday\'),\'<br>\';//昨天
echo date(\'y-m-d H:i:s\',1500854400),\'<br>\';
31、双apache不需要配置mysql,数据库用得2016。配置好2016的5.2信息后,全部关闭。在其他目录安装2014,修改apache(phpStudy设置=》端口常规设置httpd )端口为8000,站点域名设置里端口也要是8000,查看2014是否配置好,尤其是oppenssl是否开启,将三个文件,apache_servicefix.bat apache_serviceinstall.bat apache_serviceuninstall.bat 放到2014的apache目录下 (需要修改里面phpStudy路径)编辑apache_serviceinstall.bat,分别访问http://localhost/phpinfo.php和http://localhost:8000/phpinfo.php如果都能访问说明成功了,修改服务中Apache2014,将第一次失败改为重新启动服务
32、js删除不了,表机构问题。
33、复制表结构 create table go_zhang select * from go_zhang where 1=2
根据sid,title去重后保留id最小值
insert into go_ll select * from go_shoplist where id in(select min(id) from go_shoplist group by sid) && id in(select min(id) from go_shoplist group by title);
34、数据库优化
35、上传苹果市场,充值栏目的替换,
app/mobile/xmdb_column 测试,admin/setting/banben/5.5.0
36、索引利用二叉树,二分查找原理,二分查找必须是有序表。索引一般用在where,order by ,group by 字段。查询字段不添加索引。
function binsearch($x,$a){
$c=count($a);
$lower=0;
$high=$c-1;
while($lower<=$high){
$middle=intval(($lower+$high)/2);
if($a[$middle]>$x)
$high=$middle-1;
elseif($a[$middle]<$x)
$lower=$middle+1;
else
return $middle;
}
return -1;
}
建立普通索引 :ALTER TABLE user ADD INDEX index_name ( name)
建立主键索引:ALTER TABLE user ADD PRIMARY KEY ( id)
建立唯一索引:ALTER TABLE user ADD UNIQUE ( createtime)
建立全文索引:ALTER TABLE user ADD FULLTEXT ( name)
添加多列索引:ALTER TABLE user ADD INDEX index_name ( name, pwd, createtime)
聚集索引(字典中a-z),非聚集索引(字典中偏旁部首的排序,文字的具体页数,另有存储)
1、跨服务器复制表中数据
insert into openrowset(\'sqloledb\',\'localhost\';\'sa\';\'123\',Test.dbo.Table_B)
select * from Test.dbo.Table_A
//启用Ad Hoc Distributed Queries:
exec sp_configure \'show advanced options\',1
reconfigure
exec sp_configure \'Ad Hoc Distributed Queries\',1
reconfigure
//使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure \'Ad Hoc Distributed Queries\',0
reconfigure
exec sp_configure \'show advanced options\',0
reconfigure
如何将一个mysql数据库中的一个表导入到另一个mysql数据库中
db1为原数据库,db2为要导出到的数据库,fromtable 是要导出的表名
1.方法一:
登录导出到的数据库,执行
create table fromtable select * from db1.fromtable;
2.方法二:
在cmd下执行,mysqldump -u root -p db1 fromtable file=d:/fromtable.sql; 输入秘密,root为用户名
登录db2 执行 source d:/fromtable.sql;
3.方法三:
登录db1 执行 select * from fromtable into outfile "d:/fromtable .txt"; 导出纯数据格式
登录db2 执行 load data infile d:/fromtable .txt into table fromtable; 需要先建一张和原表结构一样的空表。
4.建一个odbc连接,先导出到access中,再导出到另一个库中。
37、获取执行一条sql语句的时间及日志的生成
$t1 = microtime(true);
$t2 = microtime(true);
$c = round($t2-$t1,3);
file_put_contents(\'zhang.txt\',$c);
38、跳出本次循环 continue
39、warining :foreach
if(!$arr){
foreach($arr $k=>$v){
}
}
40、select * from go_zhang limit 1 \\G;
41、查询表的详细说明:show table status like ‘tablename’;
42、curl用法:
$url = "http://ssc.buguyuan.cn/?/go/index/get_caipiao";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10);
$ssc = curl_exec($ch);
curl_close($ch);
$ssc=json_decode($ssc,TRUE);
43、正则引用替换
$data = preg_replace(\'/^(\\d{8})(\\d{3})$/\',\'$1-$2\',$ssc[\'expect\']);
将20170721048 替换为20170721-048
44、将时间转化为时间戳
45、header导出excel文件
Header( "Content-type:application/vnd.ms-excel ;charset=utf-8");//自己写编码
Header( "Content-Disposition:attachment;filename=abnormal_Report.xls "); //名字
46、创建用户并同时创建数据库是要分与其指定的权限,才可以运行。
47、htmlspecialchars
48、file_put_contents(\'zhang.txt\', $sq2.PHP_EOL, FILE_APPEND);
换行加追加。
49、<script type="text/javascript">
function submitFun(act)
{
myForm.action.value = act;
myForm.submit();
}
</script>
<form name="myForm">
<input type="hidden" name="action" value="edit">
<input type="button" name="editBtn" value="修改" onclick="submitFun(\'edit\');">
<input type="button" name="delBtn" value="删除" onclick="submitFun(\'del\');">
</form>
50、alter table go_check_spellshop add refuse_cause varchar(255) null comment \'商品被拒原因\';
51、
<script>
function text(){
var obj=document.createElement("input");
obj.value="1";
document.body.appendChild(obj);
}
</script>
<a href="javascript:text()">add</a>
52、图片用序列化存储
53、单选钮被选中:checked=\'checked\'
54、去掉字符串右侧;
$a=rtrim($a,\';\');
55、value=value.replace(/\\D/g,\'\')
除数字以外的其他字符换为空
56、delete from table where
$guige_array = array();
foreach ($guige as $k => $v) {
$guige_array[$k]=$v[\'content\'];
}
$guige_array = implode(\'、\',$guige_array);
57、system/config/global.php
define("SUFF_NAME","夺宝");
58、选择shift
到行首 Home 到行末End
59、文件上传
<?php
if($_POST[\'submit\']){
if(file_exists($_FILES[\'thumb\'][\'name\'])){
echo \'1111\';
}else{
$a = move_uploaded_file( $_FILES["thumb"]["tmp_name"],"upload/1.jpg");
var_dump($a);
}
}
?>
<html>
<form action=\'\' method=\'post\' enctype=\'multipart/form-data\'>
<input type=\'file\' name=\'thumb\'/>
<input type=\'submit\' name=\'submit\' value=\'提交\'/>
</form>
</html>
60、ctrl+X 抓包工具的清除
61、 {wc:php:start}
$jiexiao = get_shop_if_jiexiao($record[\'shopid\']);
{wc:php:end}
62、D:\\Web\\yg\\lianbao\\system\\libs\\application.class.php:
18 // 将 D:\\Web\\db1h\\system\\config\\param.inc.php 中的内容以数组形式打印出来
19
20: define(\'ROUTE_M\', $this->param->route_m());
21 // var_dump(ROUTE_M);die; string(2) "go"
22: define(\'ROUTE_C\', $this->param->route_c());
23 // var_dump(ROUTE_C);die; string(5) "index"
24: define(\'ROUTE_A\', $this->param->route_a());
25 // var_dump(ROUTE_A);die; string(4) "init"
26 $_cfg[\'route_m\'] = ROUTE_M;
..
63、修改字段默认值,先删除
alter table go_check_spellshop alter column stock drop default; (若本身存在默认值,则先删除)
alter table go_check_spellshop alter column stock set default 1000000;(若本身不存在则可以直接设定)
64、 <td class="col3">{wc:fun:date("Y-m-d H:i",$rt[\'time\'])}</td>
65、
echo __FILE__; //D:\\phpStudy\\WWW\\js.php
echo dirname(__FILE__) //D:\\phpStudy\\WWW //dirname(__FILE__);得到的是文件所在层目录名
echo DIRECTORY_SEPARATOR // \\
66、后台左侧栏目 admin/init
67、
zhiTd.innerHTML = \'<input id="\'+ zhiId +\'" type="text" name="zhi[]" width="190px" onBlur="panduan(this)"/>\';
function panduan(obj){
var a = obj.value.split(\'、\');
if(a.length>10){
alert(\'规格值不符合上传规则!\');
}
for(var i=0;a.length;i++){
if(a[i].length>10){
alert(\'规格值输入不符合上传规则!\');
}
}
68、枚举类型字段修改要加单引号
69、根据复选框选择与否判断div是否隐藏
<script type="text/javascript">
window.onload = function(){
document.getElementById("is_shengji").onclick = function(){
var dj_price = document.getElementById("dj_price");
if(this.checked){
dj_price.style.display ="none";
}
else{
dj_price.style.display = "";
}
}
}
</script>
70、导出
<?php
$array = [[\'name\'=>\'张燕茹\',\'sex\'=>\'女\',\'age\'=>\'20\',\'add\'=>\'河北\'],
[\'name\'=>\'李路路\',\'sex\'=>\'男\',\'age\'=>\'21\',\'add\'=>\'湖南\'],
[\'name\'=>\'孙婷\',\'sex\'=>\'女\',\'age\'=>\'20\',\'add\'=>\'北京\'],
[\'name\'=>\'傻蛋\',\'sex\'=>\'女\',\'age\'=>\'20\',\'add\'=>\'河北\'],];
header("Content-type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=zhang.xls");
echo "<table border=\'1px\'>";
echo "<tr>";
echo "<td>". \'姓名\' . "</td>";
/* 红包序列号, 红包金额, 类型名称(红包名称), 使用结束日期 */
echo "<td>". \'性别\' . "</td>";
echo "<td>".\'年龄\' . "</td>";
echo "<td>".\'地址\' . "</td>";
//$code_table = array();
foreach ($array as $key => $val)
{
echo "<tr>";
echo "<td>". $val[\'name\'] . "</td>";
echo "<td>". $val[\'sex\'] . "</td>";
echo "<td>". $val[\'age\']. "</td>";
echo "<td>". $val[\'add\']. "</td>";
echo "</tr>";
}
echo "</table>";
?>
71、
get_magic_quotes_gpc()函数检测
当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1
当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串
预定义字符时:单引号‘
双引号“
反斜杠\\
stripslashes()函数删除由addslashes()函数添加的反斜杠
这些所谓有特殊的符号包括:
1、\'也就是间引号。
2、"也就是双引号。
3、$如果在双引号内,它就算是特殊字符,比如echo "$aa";不会输出$aa的值,输出的是$aa。在单引号里它不算特殊字符。
4、\\n表示一个换行,在windows下看起来和回车一样的,linux等其他系统则不是,一般上windows下按回车键的值等于\\r\\n,就是回车+换行,而linux只是换行,就是\\n。
5、\\r表示回车。
6、\\t表示水平制表符,就是键盘上的Tab那个按键。
7、\\\\表示一个\\。
72、导出数据库
http://www.cnblogs.com/chenmh/p/5300370.html
在想导出的目录
》mysqldump -uroot -p lianbao > lianbao.sql
》root
导出表
》mysqldump -uroot -p lianbao go_member > lianbao.sql
》root
导出带条件表
》mysqldump -uroot -p lianbao go_member --where=\'id=1\' > member.sql
》root
73、text-decoration:line-through;
74、array_values 将关联数组转化为索引数组
75、array_slice(array,start,length,preserve) 第四个参数 是否重置键名
76、table-layout: automatic 在设置了宽度的时候 在内容超过宽度设定时,宽度随文字内容自适应,不超过宽度生效。
table-layout: fixed:强制宽度起作用
77、sql防注入
若是用户名为 admin or 1=1 关键字起作用
"select * from user where name=$name and password=$pwd";
若是占位符
$name = :username :username=>\'admin or 1=1\'
占位符内内容强制转化为字符串或者数字 or 关键字不会被解析
以上是关于2017.03.02-2017.09.28 日常随笔的主要内容,如果未能解决你的问题,请参考以下文章
自然语言处理系列-4条件随机场(CRF)及其tensorlofw实现
Linux- 系统随你玩之--好用到炸裂的系统级监控诊断工具