共 33 页, « 第一页 ... « 14 15 16 [17] 18 19 20 » ... 最后一页 »
box模型即由<div>等块元素的 margin、padding、border、width、height 等属性构成的显示模型, 它是CSS布局的基础。通过设置<div>的各种属性,可以得到任何想要的页面效果。
各个元素的含义如下:

- margin: box外边界到外层元素的距离,即余白。
- border: box的边界宽度。
- padding: box内的内容到box内边界的距离,即边距。
- width: box的宽度。
- height: box的高度。
其中有问题的就是 width 和 height 的定义。一般的浏览器将 width 和 height 定义为 除掉 margin、padding、border 之后的box内容的大小,实际上 box 所占有的面积 为定义的 width/height 再加上 margin、padding、border的大小。
阅读全文 »Wordpress的表名前缀默认为 wp_,该值为Wordpress安装时指定,安装之后无法更改。但若不得已需要改变时,可以使用以下方法。
- 将数据库导出。
- 将表中的所有 `wp_ 替换为 `wp2_,其中 wp2_ 为新的表前缀。
- 导入数据库。
- 修改 wp2_options 表的数据,在第四行左右有个 wp_user_roles,将其修改为 wp2_user_roles。
- 修改 wp2_usermeta 表的数据,将所有的 wp_user_level 修改为 wp2_user_level,所有的 wp_capabilities 修改为 wp2_capabilities。
如果忘记修改 wp2_options 和 wp2_usermeta 中的值,后台管理就无法使用。
或许这个已经不是什么新闻了。以data:开头,后面加入MIME类型和内容,即可将一个文件包含在一个URL内。包含二进制文件的格式为 data:image/gif;base64,BASE64编码。例如下面的图像文件包含了本站的图标。(请查看源代码以查看data:URLs的格式)
这个协议由RFC2397制定,目前Firefox、Opera、Konqueror、Safari都支持。IE不支持。唉,又是IE。
这个话题似乎是老调重弹了,也有很多人给出了相应的方法。我的方法如下:
RewriteCond %{REQUEST_URI} !^/wp-includes/images/noimage.png$ [NC]
RewriteCond %{HTTP_REFERER} !^http://[0-9a-z]+\.inspiremedia\.org/.*$ [NC]
RewriteRule \.(jpg|gif|png|zip|gz|rar)$ http://tech.inspiremedia.org/wp-includes/images/noimage.png [R,L]
主要功能位于第二行,当请求的HTTP_REFERER头不输入本站所在的域时,则执行第三行的重写规则,重定向至 noimage.png。 第二行最后的[NC]表示匹配时忽略大小写。第一行用于防止死循环。
2006-12-26
接受建议,将重写规则仅适用于 wp-content/uploads 下的文件。
RewriteCond %{HTTP_REFERER} !^http://[0-9a-z]+\.inspiremedia\.org/.*$ [NC]
RewriteRule wp-content/uploads/.*\.(jpg|gif|png|zip|gz|rar)$ http://tech.inspiremedia.org/wp-includes/images/noimage.png [R,L]
这是一个根据IP地址判断所在国家的插件。用处很多,显示评论者国家、阻挡垃圾评论等等。 其实这种插件有很多,比如IP to Country, 不过这个程序感觉一来效率不高,二来用起来也不是很方便。于是我写了这个插件,仅仅一个函数。
原理很简单,将IP地址范围保存到MySQL数据库中,然后通过SQL取出给定IP地址的数据,显示国家即可。
$ip = ip2long($ipaddr);
$sql = sprintf("SELECT country FROM ip2country WHERE ip_from<=%u AND ip_to>=%u", $ip, $ip);
$row = $wpdb->get_row("$sql");
return $row->country;
阅读全文 »最近在购买域名和虚拟主机上花了不少时间,有些原来不懂的东西也弄明白了,写在这里大家分享一下。
能买到什么样的域名?
一般是指 yourdomain.com 这样的域名,而不是 www.yourdomain.com。后者中的 www 叫做主机名,不是域的一部分。 也就是说,当你购买了 yourdomain.com 之后,所有以这个域结尾的域名都属于你了。你可以任意创建主机名, 例如 ftp.yourdomain.com,sale.yourdomain.com 等等。不过若在国内购买的话,服务商可能会限制你能创建的主机数目。
什么是A记录和CNAME记录?
A和CNAME是DNS记录的两种形式。A即主机,解析结果为一个IP地址。例如你可以添加A记录“www”到1.2.3.4, 那么 www.yourdomain.com 就被解析到 1.2.3.4。而CNAME为一个别名,它应当被解析到另一个域名, 例如添加CNAME记录“ftp”指向www,则ftp.yourdomain.com会先被解析为www.yourdomain.com, 再解析为1.2.3.4。CNAME甚至可以指向其他域,例如设置 CNAME记录 mail 指向smtp.another-domain.com, 则 mail.yourdomain.com 会解析为 smtp.another-domain.com。
Sub-domain forward是什么?
GoDaddy的域名服务中有一个子域名重定向(subdomain forward)服务,它和上述的CNAME有什么区别呢? 实际上它是增加一条A记录指向服务商的一台服务器,该服务器再将HTTP请求转发到你设置的转发目标。
购买空间时domain和sub-domain数目是什么意思?
domain是指你可以为你的空间绑定的域(yourdomain.com而不是www.yourdomain.com)的数目。 而sub-domain是你可以在已绑定的域或空间商提供的域中添加的子域名(www.yourdomain.com)的数目。 假设你在空间商 space.com 上购买了空间,这个空间能提供1个域名绑定和20个子域名绑定, 那么你可以将以前购买的 yourdomain.com 绑定到该空间,之后还可以绑定 www.yourdomain.com、 ftp.yourdomain.com、yourname.space.com 等类似这样的子域名20个。
一些apache的知识
.htaccess:配置文件,可以自己修改某个目录的服务器配置。 mod_rewrite:apache的URL重写模块。通常要想开个博客的话,.htaccess和mod_rewrite为必需功能。
今天购买了一个域名: tech.inspiremedia.org ,取其“灵感媒体”之意。原 charlee.itbdns.com 的所有服务都转移到 tech.inspiremedia.org 上。RSS feed地址不变,不过里面的固定链接变了,使用阅读器的朋友们,只好向你们说声对不起了,把看过的文章重新标为已读吧。
不过虽然固定链接变了,原来的 charlee.itbdns.com 上做了重定向,所以短时间内两个域名都会生效的。
在blog上添加mp3播放器的方法有很多,这里介绍通过 Flash MP3 Player 来播放音乐的方法。
首先到 Flash MP3 Player 的主页上下载该程序。 解压缩之后,将 mp3player.swf 和 ufo.js 两个文件放到服务器上,这里假设放在 /musicplayer 下。 (注意,Flash MP3 Player有个bug,路径名中不能包含 mp3 字样,否则不能正常读取播放列表。)
在wordpress当前主题目录中建立 mp3player.php,内容如下。
<p id="mp3player"><a href="http://www.macromedia.com/go/getflashplayer" target="_blank">下载 Flash Player</a>来播放音乐。</p>
<script type="text/javascript">
var FU = {
movie:"/musicplayer/mp3player.swf",
width:"190",
height:"20",
majorversion:"7",
build:"0",
bgcolor:"#FFFFFF",
flashvars:"file=/musicplayer/playlist.xml&showdigits=true&repeat=true&shuffle=false&lightcolor=0x0080FF&backcolor=0x0066AA&frontcolor=0xEEEEEE" };
};
UFO.create( FU, "mp3player");
</script>
然后在 sidebar.php 的适当位置加入:
<?php include(TEMPLATEPATH . '/mp3player.php'); ?>
在 header.php 中加入:
<script type="text/javascript" src="/musicplayer/ufo.js"></script>
最后将mp3文件上传到 /musicplayer 目录下,最好文件名为英文名,然后在 /musicplayer 下建立 playlist.xml 文件。
<?xml version="1.0"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<title>Music Title</title>
<creator>Singer</creator>
<location>/musicplayer/song.mp3</location>
</track>
</trackList>
</playlist>
效果如下图。
Linux的screen命令不错,习惯了你会觉得它比windows的任务栏好用多了。下面是我的.screenrc,仅供参考。
#
# ~/.screenrc
#
# 启动时不显示欢迎屏幕
startup_message off
# 定义screen的功能键为Ctrl-Z。向终端输入Ctrl-Z时应按 Ctrl-Z z。
escape ^Zz
# 屏幕缓冲区 1024 行。
defscrollback 1024
# 在最下一行显示窗口列表和时钟
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rY}%n %t%{-}%+w %=%{..G} %H(%l) %{..Y} %Y/%m/%d %c:%s "
# 关闭错误提示
vbell off
# 按 Ctrl-Z w 或 Ctrl-Z Ctrl-W 显示窗口列表
bind w windowlist -b
bind ^w windowlist -b
阅读全文 »大家都知道Linux下的date命令可以查看或修改系统时间,其实它还能用于日期计算等,十分方便。
首先是最基本的查看、修改时间。
[root@local ~]# date Thu Dec 7 21:47:52 JST 2006 [root@local ~]# date --set='2006-12-08 14:01:00' Fri Dec 8 14:01:00 JST 2006
指定日期显示格式,具体的格式指定方法参见 date --help。
[root@local ~]# date +%Y%m%d 20061208 [root@local ~]# date +%F 2006-12-08 [root@local ~]# date +%s 1165554109 [root@local ~]# date -R Fri, 08 Dec 2006 14:02:09 +0900
时间计算。
[root@local ~]# date -d "2 days ago" +%F 2006-12-06 [root@local ~]# date -d '15 years' +%F 2021-12-08 [root@local ~]# date -d '30 minutes ago' Fri Dec 8 13:57:17 JST 2006
