批量清理 php 文件的bom 头

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
header('Content-Type: text/html; charset=UTF-8');
$dir = ''; //需要处理的根目录,默认为当前目录
$suffix = 'php'; //需要处理的文件类型,默认为php文件
$files = getfiles($dir, $suffix);
print_r($files);
$i = 0;
$success = false;
foreach($files as $file) {
	$s = file_get_contents($file);
	if(isbom($s)) {
		echo $file.' 含有 BOM 头'."\r\n";
		$s = substr($s, 3);
		file_put_contents($file, $s);
		$i++;
		$success = true;
	}
}
if($success) {
	echo '发现'.$i.'个带有 bom 头的文件,已经清理完毕。';
} else {
	echo '没有发现带有 bom 头的文件。';
}

function getfiles($dir = '', $suffix = 'php') {
	!isset($_SERVER['FILES']) && $_SERVER['FILES'] = array();
	!is_array($_SERVER['FILES']) && $_SERVER['FILES'] = array();
	if(!empty($dir) && substr($dir, -1) != '/') $dir = $dir.'/';
	$files = glob($dir . '*');
	foreach($files as $file) {
		if(is_dir($file)) {
			getfiles($file.'/',$suffix);
		} else {
			if($suffix == '*' || pathinfo($file,PATHINFO_EXTENSION) == $suffix) $_SERVER['FILES'][] = $file;
		}
	}
	return $_SERVER['FILES'];
}

function isbom($str) {
	return substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf);
}

typecho 插件: plyr 播放器

为了避免与其他播放器插件冲突,请卸载其他播放器插件后在安装本插件 兼容 AudioPlayer 的添加格式,可使用 [mp3]歌曲地址[/mp3] 格式添加音乐,但是不支持用逗号分隔多个地址 建议直接使用 html5 的 audio 和 video 标签添加音乐和视频,例如: <audio src="http://a.com/b.mp3"></audio> 默认不自动播放

用 js 给网页增加背景提示音

给网页增加背景提示音是很多爱好做网站的盲人小伙伴喜欢做的事情。 以往,通常使用 bgsound 标签,但是,这个标签已经跟不上现代浏览器的脚步了,因为他只能在 IE 下有效。 所以,下面给出一段 js 代码,支持 IE9+/FIREFOX/CHROME 等现代浏览器。

获取声波网某个分类下的所有节目地址

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
/**
用于列出声波网某个分类下的所有节目的下载地址
修改 url 可以下载其他分类的节目
将url 中/p/后面的数字去掉,因为那是页码
另外填入需要获取的页数,修改 $maxpage 变量
所有节目的地址获取完毕后,会在当前目录下生成名为‘sl.bat’的批处理文件
双击‘sl.bat’即可开始下载
需要说明的是:需要‘wget.exe’的支持
将‘wget.exe’放到跟‘sl.bat’同目录下
*/

$url = 'http://shengbo.org/index.php/Index/ucenter/uid/531/p/';
$maxpage = 10;
$sc = 0;
$str = 'echo off';
for($i = 1; $i <=$maxpage; $i++) {
	echo gbk("开始处理第 $i\r\n");
	$s = file_get_contents($url . $i);
	preg_match_all('#<a href="/index.php/Index/play/playid/(.*?)" title="(.*?)" class="title"#i', $s, $rs);
	$cnt = count($rs[1]);
	$sc += $cnt;
	for($j = 0; $j < $cnt; $j++) {
		$d = file_get_contents('http://www.shengbo.org/index.php/Index/play/playid/'. $rs[1][$j]);
		preg_match('#<div class="ui360 ui360-vis" style="background-image: none;"><a href="(.*)" title="暂停/播放"></a></div></div></div><div#is', $d, $r);
		$str .= ' & wget -c "' . $r[1] . '" -O "' . $rs[2][$j] . '.' . substr($r[1], -3) . '"';
	}
	echo gbk("第 $i 页处理完成。\r\n");
}
$str .= ' & pause';
file_put_contents('sl.bat', gbk($str));
echo gbk("所有页面都处理完成。\r\n总计获取到: $sc 手歌曲。\r\n请运行“sl.bat”开始下载吧。");

function gbk($s) {
	return mb_convert_encoding($s,"gbk", "UTF-8");
}

整理关于“滴滴版 Uber 对视障用户不够友好”的相关报道链接

肯德基的天使餐厅和对盲人不友好的滴滴及优步中国

作者:李书航   欢迎关注“创事记”的微信订阅号:sinachuangshiji

  作为没有固定办公地点的自由职业者,我自认是大城市当中的一介“边缘人”。我感谢自己所在的城市,都让我只要小小成本,即可在一个安静的角落里,不打扰他人,又积极努力的活出自己。