微信,新浪,QQ的分享脚本

有时候bshare不太能满足自己的需求,或者不想为了一个小小的分享引用一堆杂七杂八的脚本怎么办?

其它各大公司都提供了简单的分享方式,bshare,jiathis也就是这些方便的集合体,或许说,做得更容易,更人性化了。

现在演示下单独一个的分享。(其实只要通过jiathis进行对应的分享,在浏览器的地址栏就可以获取对应的链接了,去官网的文档查看下也是有的)

qq

	const TYPE_QQ="qq";
	const TYPE_QQ_URL="http://connect.qq.com/widget/shareqq/index.html?";
	public static function getQqUrl($title,$summary,$url,$img){
		$querys=array(
			'title'=>$title, 
			'url'=>$url,
			'pics'=>$img,
			'summary'=>$summary,
			'desc'=>$summary,
		);
		return self::TYPE_QQ_URL.http_build_query($querys);
	}

微薄

	const TYPE_WEIBO="weibo";
	const TYPE_WEIBO_URL="http://service.weibo.com/share/share.php?";
	public static function getWeiboUrl($title,$summary,$url,$img){
		$querys=array(
			'title'=>$title."#".$summary,
			'url'=>$url,
			'pic'=>$img,
		);
		return self::TYPE_WEIBO_URL.http_build_query($querys);
	}

微信比较特别,只通过扫描的方式进行分享。然后再分享到朋友圈里。这样有比没有强了呵呵。

	const TYPE_WX="qq";
	const TYPE_WX_URL="https://open.weixin.qq.com/qr/set/?";
	const TYPE_WX_URL2="https://open.weixin.qq.com/qr/get/";
	//https://open.weixin.qq.com/qr/get/Z2HYZsVENp3hRmUA/ 获取对应的二维码
	/**
	 * 该二维码为一次性的,被扫后必须重新生成
	 * @param  $title
	 * @param  $summary
	 * @param  $url
	 * @param  $img
	 * @return string
	 */
	public static function getWXUrl($title,$summary,$url,$img){
		$querys=array(
			'title'=>$title."#".$summary,
			'url'=>$url,
			'img'=>$img,
			'appid'=>'',
			'a'=>1,
		);
		lib("http.class.php");
		$http=new http();
		$data=$http->get(self::TYPE_WX_URL.http_build_query($querys));
		if($data){
			$data=$http->get_data();
		}
		if(preg_match("/showWxBox("(w+)")/", $data,$match)){
			return self::TYPE_WX_URL2.$match[1]."/";
		}
	}

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

实现 HTTP response 回传文件(纯属蛋疼)

有兴趣的同学可以下个chrome,进行post和get访问时,数据流的查看。

可以发现,是浏览器将表单中的数据项按各种分隔的方式传送到服务器端。服务器通过文件头再进行相应的数据解析。包括文件上传也是这样子。

问题来了。 我上传文件没有问题,但是需要将服务器端生成的文件再获取回来。实现的方式有多种,闲得蛋疼。。模拟了HTTP的方式将数据以模拟enctype=”multipart/form-data”的方式返回,然后客户端这边再进行解析。

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

failed to load resource under Chrome

今天出现下午出现了件奇怪的事。一小时前还能访问的,网速降了后不知道为什么就一直在chrome里提示这个异常。

“failed to load resource under Chrome”

清了多次缓存也一样。

 经过检查,发现是easyui的脚本只加载了8成左右,后面部分缺失了。不是网其它朋友遇到的那样的问题。重启了路由,网速提上来就好了。

现在引出来一个问题。

php很多项目在引用的文件,文件前面会判断下某个常量来表示下是否装载了核心类。

然后像js这种,特别是大类库是不是得在文件尾追加点标志变量,当检测不到这些变量时做下提示是否好一定?见仁见智了。

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

DZ IIS WRITE

今天处理dz的时候碰到一个问题

isapi_rewrite3 配合dz2.5(gbk)的时候
RewriteRule ^(.*)/space-(username|uid)-(.+).html(?(.*))*$ $1/home.php?mod=space&$2=$3&$5 [QSA,NU,PT,L]

这个配置里,$5是匹配不到的。文件编码也没有问题。经过不断尝试。发现得在后面加多几个参数变量解决。下面为详细介绍的链接.

http://www.7aidc.com/help/helpdtl.asp?nid=108

IIS正则

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827

DZ门户模板更新问题

最近处理dz出现了一件奇怪的事,模板的内页更新正常,但是不部分分类的页面没有更新。

因为使用的是同一个模板页面。但是不同分类的页面竟然不一样。

第一个想法是dz的这套机制里存在缓存,然后更新过程中因为权限或者其它问题导致部分不成功。So,最笨的方法是检查生成方式。然后去找。

但然后,其它猜猜都知道页面一定在data目录,

扫了下 diy 和telmplate两目录,逐一尝试下。

最后确定了修改目录是  /data/diy/template/singcere_note/portal/

该目录为不同分类生成不同的模板页面。只要将更新有问题的部分删除,重新生成即可。

转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827