本博客文章已转移到独立博客,请点击做最好的三三查看全文。
7
18
2012
25

simsimi小黄鸡API更新

最近发现API拉取不到消息了,感到很奇怪。手动访问了一下,发现simsimi的json调用格式变成这个样子了:

{"id":19417700,"response":"爱你","result":100,"msg":"OK."}

翻看原来的代码,发现回复由sentence_resp变成了response。稍微修订一下代码,就又能用了:

function simsimi($q){
    //simsimi 非官方API接口
    //2012年07月18日修订:修正小黄鸡更新接口导致返回失败。
    //by.oott123  http://best33.com
    //参数:$q(欲获取的问题) 返回:(mixed)返回结果,为false则失败
    $json=file_get_contents('http://www.simsimi.com/func/req?lc=zh&msg='.urlencode($q));
    $json=json_decode($json,1);
    if(isset($json['response'])){
        $reply=$json['response'];
        return $reply;
    }
    return false;
}
本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: api json php REST simsimi
7
16
2012
4

神奇的POST数组

这两天在研究discuz的后台,发现一些很神奇的东西,稍微百度了一下,发现大家对这个提得比较少。那么我就来说说吧。

我们通常用的post表单一般是这个样子的(我没有关闭表单</form>的习惯,大家还是加上吧……):

<form method="post" action="debug.php">
<input value="hello1" name="hello1">
<input value="hello2" name="hello2">
<input value="提交" type="submit">

嗯,为了方便我们把debug.php代码也贴出来(其实就一句……):

print_r($_POST);

好了,那么我们post一下,得到的是这样的结果:

Array
(
    [hello1] => hello1
    [hello2] => hello2
)

这样的post没有什么好说的,大家都知道。好了,接下来是高级操作了——如果把表单改成这个样子呢:

<form method="post" action="debug.php">
<input value="hello" name="hello[word]">
<input value="hello" name="hello[wolrd]">
<input value="hello" name="hello[test]" type="submit">
</form>

好了,我们来post一下,竟然——

Array
(
    [hello] => Array
        (
            [word] => hello
            [wolrd] => hello
            [test] => hello
        )

)

对啦~在post结果里面我们发现了数组~

那么这个代码可以再发扬一下,大家体会体会吧~比如这样:

<form method="post" action="debug.php">
<input name="foo[]" type="checkbox" value="thisone">
<input name="foo[]" type="checkbox" value="thatone">
<input name="foo[]" type="checkbox" value="another">
<input name="foo[]" type="checkbox" value="and this">
<input name="foo[]" type="checkbox" value="and more">
</form>

这个代码能够返回这样的结果~

Array
(
    [foo] => Array
        (
            [0] => another
            [1] => and this
        )

)

这样只需要遍历一下$_POST['foo']数组就能够得到所有被用户勾选的选项啦~厉害吧~

(用php这么久了也才发现这个玩意我真是失败啊……)

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php post 数组
7
13
2012
0

迷你记事本(实现pastebin功能)

本程序是oott123仿制而来,系统核心源码为oott123自写而成,UBB解析采用Discuz内部的识别类,界面代码完全仿制。因为时间太过久远,所以找不到原来那个站点了,只从邮件记录中找到了原作者的mail:wenbin.wu@foxmail.com,在此向原作者致敬!

废话不多说,直接上地址:(我会说我连截图懒得弄一张了么?)http://sdrv.ms/M6PaSY

ps.最近电脑抽风,然后同学聚会什么的忙不过来,更新质量差点求包涵~(众:速度也会慢吧!)

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php pastebin
7
11
2012
1

#每日一个小代码#Windows主机也能伪静态

这里所说的伪静态并不是指用那个什么什么xml文件来实现,因为那个毕竟要比较高端的虚拟主机才有的……一般国内的“功能强大的控制面板”提供的全能空间是没有那么高端的。

再声明,这里给出的代码是以wordpress为例,其它程序请自行发散~

<?php
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>

嗯,把上面这个文件存成404文件即可实现伪静态了……其实这个代码是网上找的,个人觉得并不是那么靠谱。个人觉得这样写就够了:

<?php
include('index.php');
?>

至于具体怎样……我手上没有Win主机啊,没法测试……谁能测试一下给我反馈?

ps.IE环境下Chito后台的编辑器还真不好用。

再ps. qi哥我用IE测试发现我博客的大图能够正常缩略显示啊……

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
7
11
2012
4

#每日一个小代码#只允许中国用户访问

嗯用免费空间的孩子们经常会想去掉广告啊什么的,或者TOS里面明确写着不允许中文网站自己却偷偷的搭建中文站什么的很苦恼……嗯没关系,有了这个神器,再也不怕老外查站了!

$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
//获取访客语言,是HTTP头信息的ACCEPT_LANGUAGE的前两个字符
if($language != 'zh'){
//zh是中文,包括zh-CN简体中文和zh-TW正体中文
header("Location: /yourpage.html");
//这句代码是将用户转向到根目录的yourpage.html这里
exit;
//然后退出
}

简洁的几句话就将非中文用户阻挡在外了。这个yourpage.html里面可以写上:We're sorry but our web site is temporarily unavailable due to routine maintenance or unexpected technical problems. We apologize for the inconvenience and are quickly working to correct the situation. 这一看就很专业的英文报错了对吧……

其实还可以做进一步的发挥。原来不是有用Js代码识别语言去广告的吗?那样做如果老外查源码的话,就很容易发现了。其实如果用php的话,去广告可以更加隐蔽。比如kilu.de的去广告代码(在</body>前加上<noscript><noscript>)就可以把body标签替换为php代码如下:

<?php
$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
if($language == 'zh'){
echo '<noscript><noscript>';
}
?>
</body>

这样的话,老外看到的源代码基本就不会出现js去广告那样的很明显的判定语言的语句了!

(这是昨天打算更新的忘记了……今天补上。所以今天还有一更哦~)

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
7
9
2012
4

#每日一个小代码#利用Google翻译实现云TTS

之前看到一个能够将回复转换成声音的某个web服务,表示对原理很好奇。查了一些资料,发现php并不是很好实现tts。今天用Google翻译来听日语,突然想到用Google翻译的功能实现TTS。

稍微抓个包,得到地址:http://translate.google.cn/translate_tts?ie=UTF-8&q=字符串&tl=语言。直接写了个函数实现301转向,测试了下,发现如果有referer的话就会出现404错误。(Google真奇怪,为啥不是403……)

于是经典的file_get_contents法了,如下:

	function googletts($text,$lang='zh-CN'){
		header('Content-Type: audio/mp3');
		echo file_get_contents('http://translate.google.cn/translate_tts?ie=UTF-8&q=' . urlencode($text) . '&tl=' . $lang);
	}
本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php tts 每日一个小代码
7
9
2012
20

【图文教程更新】7ghost - 用PHP在不支持反向代理的空间上实现反向代理

大家好~我是oott123[三三],今天给大家带来如何利用7ghost脚本架设反向代理。使用7ghost和其它方法不同的是,这个并不需要空间支持 反向代理,而只需要:支持allow_furl_open;支持curl(也就是说支持抓取);空间至少要有500K(谁没有啊);如果启用缓存的话需要 写权限和空间足够大。比如部落之前推荐的youhosting很适合~
7ghost的官方地址是http://code.google.com/p/7ghost/ 不过已经很久没有更新了。我在使用过程中发现它官方的htaccess并不好用,于是修改了一个版本,放在了微软SkyDrive上。地址是:http://sdrv.ms/PtVOVv 这里。
好,接下来开始正式教程~


第一步是解压。(废话……)


解压得到的文件里面,需要上传的就是_admin这个文件夹和.htaccess、index.php这两个文件。
先打开_admin/data/config.php,修改其中的密码,如下图:

改好以后上传到你的空间~这个不多说,FTP即可。注意,如果空间里面已经有了.htaccess,请务必覆盖。

上传完以后,打开管理地址:http://你的空间访问域名/_admin,比如我的演示是:http://freehao123.gtga.tk/

输入密码登录,就可以看到管理界面了。按照我的截图提示稍微改动一下配置即可。需要注意的事是,这个脚本提交保存以后没有任何提示,但是刷新可以看到已经修改好了。

提交以后我们就可以回到http://freehao123.gtga.tk/ 啦:

接下来是花絮:怎么利用这个脚本的特色功能:【查找替换】
还是到管理面板,点击【内容替换】,按照提示添加相关内容:

有人会问,这个有什么用?……嗯,这个大家自己发挥吧~比如制作小偷站点什么的……

回到首页,哼哼,资源部落已经被我占领啦~
本文首发:Best33.com ;已投稿到freehao123,未经许可请勿二次转载。

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php 反向代理
7
8
2012
6

7ghost - 用PHP在不支持反向代理的空间上实现反向代理

先说下空间要求:支持allow_furl_open;支持curl(也就是说支持抓取);空间至少要有500K(谁没有啊);如果启用缓存的话需要写权限和空间足够大。

然后给出项目原始地址:http://code.google.com/p/7ghost/

接着给出我的修改版本,修改说明放到压缩包里面了:http://sdrv.ms/PtVOVv (其实就是修订了下.htaccess防止兼容问题)

最后说下使用方法吧:

首先解开压缩包,打开/_admin/data/config.php 第二行,将password项的123456改成你的密码——当然不改也没问题。

然后把所有的文件上传到你的空间 打开http://yourdomain.com/_admin/(切记!要上传到根目录)输入密码登录。

然后修改需要代理的网址,其它不动即可。(根据需要可以关闭缓存)

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。
Category: PHP | Tags: php 反向代理

Host by is-Programmer.com

Power by Chito 1.3.1 beta

| Theme: Aeros 2.0 by TheBuckmaker.com