Hot For Coding
PHP实现Linux关机重启功能

有时候,我们自己可以DIY一个控制面板实现Linux的关机重启功能。众所周知,Linux是一个基于文件的操作系统,所以要实现系统的关机重启功能必须满足以下两点

知道命令的绝对路径

在Linux下操作的时候,我们们直接敲入命令即可。但用PHP执行Linux命令就不能这么操作了,需要知道命令的绝对路径。

  • /sbin/reboot 重启命令reboot绝对路径
  • /sbin/shutdown 关机命令shutdown绝对路径

用PHP执行Linux命令

PHP有许多函数可以执行Linux命令,之前我有在博客介绍过《PHP执行Linux命令函数》。这里推荐使用exec函数。

...

READ ALL

修改Linux登录后默认目录

每次登录Linux后需要cd进入相应的目录,久而之久感觉实在太不方便,于是想到了修改配置文件省的以后每次登录还要cd进入目录的步骤

修改配置文件

配置文件位置

/etc/passwd

修改它

vi /etc/passwd

记得要root登录,或者sudo

找到root所在行

root:x:0:0:root:/root:/bin/bash

找到上面这一行

修改它

root:x:0:0:root:/root:/bin/bash

改成

root:x:0:0:root:/data0/web_root/:/bin/bash

...

READ ALL

Win平台与Linux平台的hosts设置

做Web开发,常常是需要设置本机Hosts。

XP或者WIN7设置

hosts位置

C:\Windows\System32\drivers\etc\hosts

注意先把权限给上,否则无法保存。

格式

IP 域名

如:

127.0.0.1 www.xxx.com
192.168.1.100 www.ooo.com

Linux设置

hosts位置

/etc/hosts

需要root权限才能修改

vim /etc/hosts

格式跟Win平台一样

IP 域名

修改后记得保存

验证

验证就特别简单了,直接ping,看看返回的IP是不是对的

...

READ ALL

JavaScript函数内声明变量几个坑

许多童鞋在写JavaScript的时候,在函数里声明变量对var关键字认识不深刻,这里就函数里声明变量的一点示例。

函数内使用var关键字声明变量

这种情况通常是声明的函数作为局部变量,即函数外不能使用

// Nicholas Lee www.qttc.net

function fun1(){
  // 声明变量,使用var关键字
  var str = 'Nicholas Lee';
  console.log(str); // Output: Nicholas Lee
}
 
fun1();
 
// 函数外使用变量
console.log(str); // Output: Uncaught ReferenceError: str is not defined

...

READ ALL

PHP给图片添加水印

有些站点也许是出于推广或者防盗的目的在上传图片时给图片加上一个Logo水印,我就见过有些站长直接用图片工具添加水印然后再上传,当然这样也能实现效果。但PHP中也可以完成给图片加水印的功能。就PHP函数功能这里就不再去浪费口舌介绍了,直接说下如何实现。大体有以下步骤

准备好水印图

这个水印图不限格式,gif或png或jpg都可以,大小调成合适的即可。透明度不需要,因为我们可以在PHP中灵活设置透明度。如果不会使用制图工具制作Logo可以去谷歌一下在线Logo制作,随便点击进入一个链接敲几个字即可生成,当然是免费的。

编写代码

这里重点给出以下函数名,也就是实现水印功能主要就是靠这些函数功能操作

...

READ ALL

JavaScript写的一个键盘控制人物走动Demo

其实这个示例用到了JavaScript的两个核心事件,键盘事件onkeydown,周期执行事件setInterval

full

实现效果

当按下键盘某个键时网页中的人物实现相应的动作,达到利用键盘控制走动效果

实现步骤

  • 预订键值作用:

w:向上 s:向下
a:向左
d:向右
空格:停止

  • 设置键值后,要能捕获按键事件以及判断用户按的是哪个键?

捕获键盘事件可以用onkeydown,获取键值码可以用event.keyCode

...

READ ALL

HTML5新增的几个Input类型

HTML5新增了几个input类型,都是比较实用的。

email类型

<input type="email" />

顾名思义,即自动验证输入的值是否是email

URL类型

<input type="url" />

同样自动验证输入的值是否是正确的URL

number类型

<input type="number" min="1" max="10" />

只接受数字类型

  • min 参数为最小值
  • max 参数为最大值

range类型

<input type="range" min="1" max="10" />

...

READ ALL

Go里JSON的解析与转换

Go里对JSON的操作提供了encoding/json这个包两个方法

  • json.Marshal()
  • json.Unmarshal()

对象转JSON,使用json.Marshal()方法

// Nicholas Lee www.qttc.net

package main

import (
  "encoding/json"
  "fmt"
)

type People struct {
  Age  int    `json:"age"`
  Name string `json:"name"`
}

func main() {
  p := People{18, "Nicholas"}

  s, err := json.Marshal(p)

  if err != nil {
    panic(err)
  } else {
    fmt.Println(string(s)) // Output: {"age":18,"name":"Nicholas"}
  }
}

...

READ ALL

JavaScript截取字符串

首先我们来看一下substring()函数使用介绍

substring

语法

string.substring(start, end)

substring()需要至少需要一个参数

  • 第一个参数为起始位置
  • 第二个参数可选,为结束位置

Example

// Nicholas Lee www.qttc.net

// 一个参数
var str = '欢迎各位童鞋到琼台博客做客';
var sub = str.substring(3);
console.log(sub); // Output: 位童鞋到琼台博客做客

// 两个参数
var str = '欢迎各位童鞋到琼台博客做客';
var sub = str.substring(3,11);
console.log(sub); // Output: 位童鞋到琼台博客

...

READ ALL

MySQL与SQLServer分页区别

之前一直用MySQL,虽然比起SQLServer这个庞大的数据库系统MySQL很轻量,但它并不逊色。以下说说这两个在数据库各自的分页区别

取出前十条

MySQL

SELECT * FROM table LIMIT 10;

SQLServer

SELECT TOP 10 * FROM table

每页十条,取出第三页

MySQL

SELECT * FROM table LIMIT 20,10

SQLServer

SELECT TOP 10 * FROM table WHERE id NOT IN(
  SELECT TOP 20 id FROM table ORDER BY id DESC
) ORDER BY id DESC;

...

READ ALL

1 2 3 4 5