添加SongTaste音乐外链app
作者:matrix 发布时间:2013-09-24 分类:兼容并蓄
SongTaste已经不复存在~
转换地址: http://link.hhtjim.com
songtaste.com的音乐打开速度是比较快的,比起百度网盘就songtaste和xiaomi的速度很理想,外链起来比较不错。
网上找了很多SongTaste外链的方法,大多数都是pc端程序,没看到什么php源码之类的东西,很是蛋疼。 阅读剩余部分 »
作者:matrix 发布时间:2013-09-24 分类:兼容并蓄
转换地址: http://link.hhtjim.com
songtaste.com的音乐打开速度是比较快的,比起百度网盘就songtaste和xiaomi的速度很理想,外链起来比较不错。
网上找了很多SongTaste外链的方法,大多数都是pc端程序,没看到什么php源码之类的东西,很是蛋疼。 阅读剩余部分 »
作者:matrix 发布时间:2013-09-20 分类:Wordpress 兼容并蓄
onamae.com的25号免费域名没抢到,倒是看到onamae上的一个图片闪光特效好奇,这就扒了。
看头部的meta写的jquery-opacity-rollover.js文件,不知道这是个啥子插件上的东东。
作者:http://h2ham.seesaa.net
实际效果,文字说明:
作者:matrix 发布时间:2013-09-19 分类:兼容并蓄 零零星星
自从本站准备暂时停止域名解析 的2013年08月13日开始到昨天9-18 10:38. 😀 被安通过了。工信部短信通知的,后来也有email。 哈哈
硬是感谢各位相关人员~
这一个月的时间真恼火。期间找了俩关于不关站的办法:
到域名列表里找到线路类型选择“搜索引擎”,这样蜘蛛照样可以正常访问,比起停止域名解析来好得多。
本站收录本来就那一点点,感觉影响不大。
这样的话还是有些作用,但不能保证人家看不到你的网站。
so, 不咋靠谱。
在index.php中适当位置添加相关代码:
<?
function convertip($ip)
{
//IP数据文件路径
$dat_path = 'QQWry.dat';
//检查IP地址
if (!ereg("^([0-9]{1,3}.){3}[0-9]{1,3}$", $ip)) {
return 'IP Address Error';
}
//打开IP数据文件
if (!$fd = @fopen($dat_path, 'rb')) {
return 'IP date file not exists or access denied';
}
//分解IP进行运算,得出整形数
$ip = explode('.', $ip);
$ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];
//获取IP数据索引开始和结束位置
$DataBegin = fread($fd, 4);
$DataEnd = fread($fd, 4);
$ipbegin = implode('', unpack('L', $DataBegin));
if ($ipbegin < 0) $ipbegin += pow(2, 32);
$ipend = implode('', unpack('L', $DataEnd));
if ($ipend < 0) $ipend += pow(2, 32);
$ipAllNum = ($ipend - $ipbegin) / 7 + 1;
$BeginNum = 0;
$EndNum = $ipAllNum;
//使用二分查找法从索引记录中搜索匹配的IP记录
while ($ip1num > $ipNum || $ip2num < $ipNum) {
$Middle = intval(($EndNum + $BeginNum) / 2);
//偏移指针到索引位置读取4个字节
fseek($fd, $ipbegin + 7 * $Middle);
$ipData1 = fread($fd, 4);
if (strlen($ipData1) < 4) {
fclose($fd);
return 'System Error';
}
//提取出来的数据转换成长整形,如果数据是负数则加上2的32次幂
$ip1num = implode('', unpack('L', $ipData1));
if ($ip1num < 0) $ip1num += pow(2, 32);
//提取的长整型数大于我们IP地址则修改结束位置进行下一次循环
if ($ip1num > $ipNum) {
$EndNum = $Middle;
continue;
}
//取完上一个索引后取下一个索引
$DataSeek = fread($fd, 3);
if (strlen($DataSeek) < 3) {
fclose($fd);
return 'System Error';
}
$DataSeek = implode('', unpack('L', $DataSeek . chr(0)));
fseek($fd, $DataSeek);
$ipData2 = fread($fd, 4);
if (strlen($ipData2) < 4) {
fclose($fd);
return 'System Error';
}
$ip2num = implode('', unpack('L', $ipData2));
if ($ip2num < 0) $ip2num += pow(2, 32);
//没找到提示未知
if ($ip2num < $ipNum) {
if ($Middle == $BeginNum) {
fclose($fd);
return 'Unknown';
}
$BeginNum = $Middle;
}
}
//下面的代码读晕了,没读明白,有兴趣的慢慢读
$ipFlag = fread($fd, 1);
if ($ipFlag == chr(1)) {
$ipSeek = fread($fd, 3);
if (strlen($ipSeek) < 3) {
fclose($fd);
return 'System Error';
}
$ipSeek = implode('', unpack('L', $ipSeek . chr(0)));
fseek($fd, $ipSeek);
$ipFlag = fread($fd, 1);
}
if ($ipFlag == chr(2)) {
$AddrSeek = fread($fd, 3);
if (strlen($AddrSeek) < 3) {
fclose($fd);
return 'System Error';
}
$ipFlag = fread($fd, 1);
if ($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if (strlen($AddrSeek2) < 3) {
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2 . chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while (($char = fread($fd, 1)) != chr(0))
$ipAddr2 .= $char;
$AddrSeek = implode('', unpack('L', $AddrSeek . chr(0)));
fseek($fd, $AddrSeek);
while (($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
} else {
fseek($fd, -1, SEEK_CUR);
while (($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
$ipFlag = fread($fd, 1);
if ($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if (strlen($AddrSeek2) < 3) {
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2 . chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while (($char = fread($fd, 1)) != chr(0)) {
$ipAddr2 .= $char;
}
}
fclose($fd);
//最后做相应的替换操作后返回结果
if (preg_match('/http/i', $ipAddr2)) {
$ipAddr2 = '';
}
$ipaddr = "$ipAddr1 $ipAddr2";
$ipaddr = preg_replace('/CZ88.Net/is', '', $ipaddr);
$ipaddr = preg_replace('/^s*/is', '', $ipaddr);
$ipaddr = preg_replace('/s*$/is', '', $ipaddr);
if (preg_match('/http/i', $ipaddr) || $ipaddr == '') {
$ipaddr = 'Unknown';
}
return $ipaddr;
}
function findstr($str, $substr)
{
$m = strlen($str);
$n = strlen($substr);
if ($m < $n) return false;
for ($i = 0; $i <= ($m - $n + 1); $i++) {
$sub = substr($str, $i, $n);
if (strcmp($sub, $substr) == 0) return true;
}
return false;
}
?>
<?
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
$ClientCity = convertip($user_IP); //获得所在城市字符串
$ClientCity = iconv("gb2312", "utf-8", $ClientCity);
$flag = false;
$tmp = $_SERVER['HTTP_USER_AGENT'];
if (strpos($tmp, 'Googlebot') !== false) {
$flag = true;
} else if (strpos($tmp, 'Baiduspider') > 0) {
$flag = true;
} else if (strpos($tmp, 'Yahoo! Slurp') !== false) {
$flag = true;
} else if (strpos($tmp, 'msnbot') !== false) {
$flag = true;
} else if (strpos($tmp, 'Sosospider') !== false) {
$flag = true;
} else if (strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false) {
$flag = true;
} else if (strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false) {
$flag = true;
} else if (strpos($tmp, 'fast-webcrawler') !== false) {
$flag = true;
} else if (strpos($tmp, 'Gaisbot') !== false) {
$flag = true;
} else if (strpos($tmp, 'ia_archiver') !== false) {
$flag = true;
} else if (strpos($tmp, 'altavista') !== false) {
$flag = true;
} else if (strpos($tmp, 'lycos_spider') !== false) {
$flag = true;
} else if (strpos($tmp, 'Inktomi slurp') !== false) {
$flag = true;
}
//echo $ClientCity;
$b = '安庆'; //这里填写要屏蔽的地区
if (findstr($ClientCity, $b)) {
if ($flag) { //这里是让蜘蛛过去
echo "<script>location.href='http://www.tlrc.com/';</script>";
} else {
echo "<script>location.href='http://www.tongling.cn/';</script>";
}
} else {
//正常需要访问的代码,也可以再增加屏蔽的城市
}
?>
参考:http://www.discuz.net/forum.php?mod=viewthread&tid=2712504
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"></script>
<script type="text/javascript">
var t = remote_ip_info;
if( t.city == '成都' ){
window.location.href='https://www.hhtjim.com';
}
</script>
说明:
第5行填写需要屏蔽的城市
弊端就是只能屏蔽城市的IP段,屏蔽省份的话需要相应修改。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"></script>
<script type="text/javascript">
var t = remote_ip_info;
if( t.province == '四川' ){
window.location.href='https://www.hhtjim.com';
}
</script>
说明:
第5行填写需要屏蔽的省份,这里就解决了上面不能屏蔽省份的弊端。
自己完全可以DIY,如果需要屏蔽中国地区
第5行改为if( t.country == '中国' ){
屏蔽来自联通的IP
第5行改为if( t.isp == '联通' ){
作者:matrix 发布时间:2013-09-16 分类:Wordpress 零零星星
用ZeroClipboard跨浏览器实现复制到剪切板,兼容ie、chrome、firefox等等支持flash的浏览器。
ZeroClipboard以前在google代码的项目404,发现个神似ZeroClipboard的zClip 项目:http://www.steamdev.com/zclip/
其余项目:可以参考http://zeroclipboard.org/
网上关于ZeroClipboard的有很多,有些不能用 看着也杂~
下面记录自用ZeroClipboard的代码。点击查看最新版本的简单设置
ZeroClipboard version: "1.0.7"
js和swf下载:
http://www.400gb.com/file/28619600
http://pan.baidu.com/share/link?shareid=3611655227&uk=3238236832
1.修改压缩包中zpCOPY.js的第九行:
moviePath: 'zpCOPY.swf', // URL to movie
确保zpCOPY.swf路径的正确,建议使用绝对地址(形如https://www.hhtjim.com/zpCOPY.swf)。
2.在需要调用复制的页面加入js代码:
<script type="text/javascript" src="https://www.hhtjim.com/zpCOPY.js"></script>
<script type="text/javascript">
var clip = null;
function $(id) { return document.getElementById(id); }
function init() {
clip = new ZeroClipboard.Client();
clip.setHandCursor(true);
clip.setText($('text').value);
clip.glue('anniu');
clip.addEventListener( "complete", function(){
alert("复制成功!");
});
clip.addEventListener( "load", function(client) {
client.movie.title="复制本文固定链接";
});
}
</script>
说明:
第1行的js地址可自定义
第8、9行的text、anniu为第3步代码中对应的id值
第10、11行是复制后的弹窗提示。
3.同上,放在那页面,适当位置添加:
<body onLoad="init()"></body>
<textarea style="display:none" id="text" ><?php the_permalink() ?></textarea>
<a id="anniu" href='javascript:void(0);' title="复制本文链接">+复制链接</a>
说明:
第1行的onLoad="init()"为打开页面即加载init函数。缺少此行会导致加载flash失败。
第2行为需要复制的文本内容。这里的复制的内容是<textarea里的<?php the_permalink() ?>返回的WordPress文章网址。
经测试无法复制其他标签的文字,只有<textarea标签里的可用。由于文本框有点占位置,所以做了隐藏style="display:none"。
第3行为点击复制的那个按钮。
4.之后就成功了。
经本地测试chrome 版本 28.0.1500.95 m、ie10、firefox 23.0.1 复制成功!
本地测试于NGRO主题 💡
弹窗提示
参考:http://www.myext.cn/webkf/27383.html
http://keleyi.com/a/bjac/3wjq3xm2.htm
zclip DEMO:http://www.steamdev.com/zclip/
需要调用JQ库和zclip.min.js:
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://file.icycat.com/view/js/jquery.zclip.min.js"></script>
然后是复制的按钮和文本代码:
<a type="button" id="anniu" class="btn" > 复制 </a>
<a style="display:none" id="wenben"> 复制:https://www.hhtjim.com </a>
<script type="text/javascript">
$(document).ready(function(){$("#anniu").zclip({path:"http://file.icycat.com/view/js/ZeroClipboard.swf",copy:$("#wenben").text(),afterCopy:function(){$(this).css("color","#777");$(this).text("复制成功")}})});
</script>
说明:第1行 复制按钮为 id="anniu"
第2行 复制的文本是 id="wenben"的内容
3-4行 加载配置的swf文件路径,复制按钮、复制的文本ID以及复制成功后变成“复制成功”的样式。
代码参考来自:http://file.icycat.com/
作者:matrix 发布时间:2013-09-07 分类:兼容并蓄 零零星星
添加自动识别百度外链的文件名以及后缀 中抓取页面标题的方式有点落后,这次稍微修改,使用关于正则匹配的函数。
相关代码:
$fp = file_get_contents($quurlXX);//$quurlXX为百度网盘地址
preg_match_all ("/title\>.*\<\/title/",$fp,$titleList, PREG_PATTERN_ORDER);//使用preg_match_all正则匹配数据并保存到$titleList数组中
//echo $titleList[0][0] ;
$zhuaqian=strpos($titleList[0][0],"title>");
$zhuahou=strpos($titleList[0][0],"_免费高速下载|百度云 网盘-分享无限制");
$xinzhi=substr($titleList[0][0],6,$zhuahou-6); //取适当的两个位置中间的值也就是文件名
$zz = 'http://www.hhtjim.com/bdwl/'.$urlcode.'/'.$uk.'/'.$xinzhi;
echo $zz;
这次抓取的话相对于以前要好些了,除非度娘又把文件名后面的那一串串“_免费高速下载|百度云 网盘-分享无限制”给改了,要不我这又失效了。
bapi.php下载:
http://www.400gb.com/file/29243856
http://pan.baidu.com/share/link?shareid=1490940073&uk=3238236832
这次又调整 外链程序到v0.3。之前用的奶酪博客首发解析百度网盘 V3.1 直链下载 ,后来发现 破博客 的 百度网盘音乐外链源码 更简单实用。
更新提取百度网盘下载链接:
if(isset($_GET['baiu'])){
$baiduURL=explode("?baiu=",$_SERVER["REQUEST_URI"]);//取?baiu=后面的百度网盘链接地址
$bai_url = $baiduURL[1];
$bai_src = file_get_contents($bai_url);
preg_match('|MusicPlayer\("(.*)"|U', $bai_src, $bai_res);//匹配源码里面的下载地址并跳转
$bai_songurl = $bai_res[1];
preg_match('|dlink\\\":\\\"(.*)\\\"|U', $bai_src, $bai_res);
$bai_songurl = str_replace("\\\\", "", $bai_res[1]);
header("location:$bai_songurl");
}
说明:相关代码来自破博客的 百度网盘音乐外链源码 。
将上面代码保存到php文件中,执行示例:/*.php?baiu=百度网盘分享地址(支持新老版本)
作者:matrix 发布时间:2013-09-05 分类:兼容并蓄
以前的百度网盘外链不能自动识别文件名以及后缀,这次添加此功能。
这次就算是v0.3版本了
v0.3版本更新修改原来百度网盘转换链接的接口,增加接口中显示文件名以及后缀。技术很低,只有玩玩这种活。
接口地址:http://d.hhtjim.com/bapi.php
用法:http://d.hhtjim.com/bapi.php?url=网盘分享地址
例如:http://d.hhtjim.com/bapi.php?url=http://pan.baidu.com/share/link?shareid=2053194229&uk=3238236832
返回:https://www.hhtjim.com/bdwl/2053194229/3238236832/20130726170450.jpg
再来个外链测试:
作者:matrix 发布时间:2013-09-04 分类:Wordpress 兼容并蓄
网上有很多类似的代码,大多都来自知更鸟的HotNews。略有不同,这里还是记录一下。
一.模板函数中添加:
<?php //取文章内first_image
function catch_first_image() {
global $post,$posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i',$post->post_content,$matches);
$first_img = $matches [1] [0];
if(emptyempty($first_img)){
$random = mt_rand(1,10);
echo get_bloginfo ( 'stylesheet_directory');
echo '/images/random/'.$random.'.jpg';//若没有则输出/images/random/内图片
}
return $first_img;
}
?>