php新浪微博登录接口实例代码
在官网也有相关的开发文档http://open.weibo.com/wiki/可以查看相关资料。
我这里下载的php的SDK直接进行的web网站应用。
下载SDK,配置好config文件。
代码如下 | 复制代码 |
<?php
|
如果用户同意授权之后,在你的回调地址里需要获取 换取Access Token 来调用接口。获取信息,等等。。。
代码如下 | 复制代码 |
if($_REQUEST['code']){ echo "sds"; $keys = array(); $keys['code'] = $_REQUEST['code']; $keys['redirect_uri'] = CANVAS_PAGE; $tt= new SaeTOAuth( WB_AKEY , WB_SKEY ); $bb = $tt->getAccessToken('code',$keys); var_dump($bb); } |
在成功获取到AccessToken之后,可以调用saetv2.ex.class.php的一切封装好的函数进行操作,例如,我这里做登陆功能就需要获取用户的信息:
代码如下 | 复制代码 |
|
本文主要实现了php图片上传自动给图片加水印,在下篇中我会给出用php添加文字水印的代码。
php给图片加水印其实很简单,没有想象的那么神奇,就是利用了php里面的一个GD库。说起GD库,其实就是php里面一个专门用于处理图片有关的扩展,比如我们熟悉的验证码、生成缩略图,包括今天所说的php给图片加水印都是要有GD库的支持。
提示:新安装的php环境,可能需要开启GD库,开启方法:打开php.ini,去掉extension=php_gd2.dll前面的“;”然后重启apache/iis即可。
实现并不复杂,核心代码还不到20行,主要是掌握几个函数就行了。
实现源码:
代码如下 | 复制代码 |
<?php //打水印 |
给图片添加水印除了用基础的GD库实现,其实还可以ImageMagick这个工具,它的功能更强大,不过一般没多大需求,就用上面这个代码了。
虽然php 中的header()函数 下载文件不支持断点续传功能但有时我们还真需要此功能,如我们下载txt,图片文件时如果直接是个连接估计是直接打开了而不是下载了,那么我们可如何实现下载呢。代码如下 | 复制代码 |
<?php /** header("Content-type:text/html;charset=utf-8"); download('web/www.111cn.net .txt', 'txt文件下载'); $suffix = substr($file,strrpos($file,'.')); //获取文件后缀 //判断给定的文件存在与否 ?> |
1.不同数据库类型直接的数据库转换
navicat是个很好的数据库管理软件,可以用它进行不同类型数据库直接的转换,以下链接详细说明如何用navicat将mssql2000数据库转换成mysql数据库。
2.不同结构数据库之间的数据转换
不同数据库结构之间的数据转换存在几个问题,①字段不同,甚至无法一一对应 ②字段格式不同,要转换成目标数据库字段的设计格式 ③sql语句结合php程序转换
这是把之前一个downplus下载系统的数据库转换成phpcms的数据库。
直接上代码,有这方面需求的研究代码吧。
站点1 软件站
①导入所有软件到软件表v95_soft
代码如下 | 复制代码 |
insert into v95_soft(id,catid,title,soft,soft_name,pinyin,thumb,keywords,size,start,inputtime,updatetime,auth,property) select softid,softclassid,seotitle,appname,softname,softphoneticism,IcoImage,softkeywords,softsize,softscore, unix_timestamp(SoftInsertDate),unix_timestamp(softcreatedate),softlicence,softproperty from dp_softlist; |
②写sql设status为99
代码如下 | 复制代码 |
update v95_soft set status=99; |
③到后台更新全站url。然后更新title为空的,软件名称
代码如下 | 复制代码 |
update v95_soft set title=soft_name where title=''; |
④导入到v95_soft_date
代码如下 | 复制代码 |
insert into v95_soft_data(id,content,language,website,icon,softos) select softid,softintro,softlanguage,softauthorurl,IcoImage,softos from dp_softlist; |
⑤执行php转换程序,导入下载地址
http://www.xxx.com/admin.php?m=admin&c=index&a=down
代码如下 | 复制代码 |
public function down(){ set_time_limit(0); $sql = "select id from v95_soft_data "; $result = $this->db->query($sql); while ($r = mysql_fetch_assoc($result)) { //$softid = 11; $softid = $r['id']; $sql = "select fileurlname,fileurl,fileftpid from dp_softfiles where softid = $softid "; $downfile = $this->db->query($sql); $downfiles = array(); while ($r = mysql_fetch_assoc($downfile)) { $isbigfile = 0; if (!$r['fileurlname']) { $sql = "select soft_name from v95_soft where id = $softid "; $result2 = $this->db->query($sql); while ($r2 = mysql_fetch_assoc($result2)) { $soft_name = $r2['soft_name']; } $r['fileurlname'] = $soft_name; } if(12 == $r['fileftpid']){ $isbigfile = 1; } $downfiles[] = array('fileurl'=>$r['fileurl'],'filename'=>$r['fileurlname'],'isbigfile'=>$isbigfile); } $downfiles = array2string($downfiles); //var_dump($downfiles);exit; $sql = "update v95_soft_data set downfiles = '$downfiles' where id = $softid "; $this->db->query($sql); } echo 'OK'; } |
⑥软件单位和大小转换
代码如下 | 复制代码 |
update v95_soft set size=size/1000,unit='MB' where size>1000 and size<1000000; update v95_soft set size=size/1000000,unit='GB' where size>1000000; |
⑦导入标签,到v95_keyword和v95_keyword_data
代码如下 | 复制代码 |
insert into v95_keyword(id,keyword) select tagid,tagname from dp_tag; update v95_keyword set siteid=1; |
⑧执行php转换程序,匹配标签到关键字
http:///admin.php?m=admin&c=index&a=transe
php代码:
代码如下 | 复制代码 |
public function transe(){ set_time_limit(0); $sql = "select tagid,softidlist from dp_tag"; $result = $this->db->query($sql); while($r = mysql_fetch_assoc($result)){ //var_dump($r);exit; $tags = $r['softidlist']; $tags = explode(",", $tags); $tags = array_filter($tags); //var_dump($tags);exit; $tagid = $r['tagid']; //echo $tagid;exit; foreach ($tags as $tag) { $sql="insert into v95_keyword_data(tagid,siteid,contentid) values('$tagid','1','$tag')"; $this->db->query($sql); } } echo 'OK'; } |
调整格式
代码如下 | 复制代码 |
update v95_keyword_data set contentid=CONCAT(contentid,'-12'); |
⑩点击率
代码如下 | 复制代码 |
insert into v95_hits(hitsid,catid) select id,catid from v95_soft; update v95_hits as a left join dp_softlist as b on a.hitsid=b.softid |
十一 相关文章
代码如下 | 复制代码 |
http:///admin.php?m=admin&c=index&a=related (最后执行,很慢) public function related(){ |
站点2 单机站
①由于类别不同,要先把原先类别改成现在的类别id
代码如下 | 复制代码 |
update downtb set ClassID=217 where ClassID=1; update downtb set ClassID=218 where ClassID=2; update downtb set ClassID=219 where ClassID=3; update downtb set ClassID=220 where ClassID=4; update downtb set ClassID=221 where ClassID=5; update downtb set ClassID=222 where ClassID=6; update downtb set ClassID=223 where ClassID=7; update downtb set ClassID=224 where ClassID=8; update downtb set ClassID=225 where ClassID=9; update downtb set ClassID=226 where ClassID=10; update downtb set ClassID=233 where ClassID=11; |
②导入主表到v95_danji
代码如下 | 复制代码 |
insert into v95_danji(id,catid,title,thumb,soft_name,size,inputtime,updatetime,auth,language,downurl) select DownID,ClassID,SeoTitle,thumb,DownName,Sizes,unix_timestamp(addtime),unix_timestamp(addtime), Shouquan,Languages,DownIntro1 from downtb; |
③后台更新全站url,然后设status为99,没有seo标题的采用单机游戏名称
代码如下 | 复制代码 |
update v95_danji set status=99; update v95_danji set title=soft_name where title=''; |
④大小单位转换,下载地址格式调整
代码如下 | 复制代码 |
update v95_danji set size=size/1000,unit='MB' where size>1000 and size<1000000; update v95_danji set size=size/1000000,unit='GB' where size>1000000; update v95_danji set downurl=replace(downurl,'@@**@@本地下载',''); |
⑤修改下载地址
要判断单机游戏填写的地址
如果填写的
代码如下 | 复制代码 |
game=z1.9553.com game2=z2.9553.com |
以此类推
/admin.php?m=admin&c=index&a=downurl(废弃)
⑥导入到v95_danji_data
代码如下 | 复制代码 |
insert into v95_danji_data(id,content,gameid) select DownID,DownIntro,game_id from downtb; |
⑦单机标签转换
1、新增单机站标签到v95_keyword表
代码如下 | 复制代码 |
insert into v95_keyword(id,keyword) select TagID+31616,TagName from tagtb; update v95_keyword set siteid=2 where siteid=0; |
2、执行php程序
此时记住当前v95_keyword中siteid为1的最大id,更改php程序,再填入keywords,执行
http:///admin.php?m=admin&c=index&a=danji
php代码:
代码如下 | 复制代码 |
public function danji(){ set_time_limit(0); $sql = "select DownID,ToTagIDs from downtb"; $result = $this->db->query($sql); while ($r = mysql_fetch_assoc($result)) { $id=$r['DownID']; $ToTagIDs = explode(",", $r['ToTagIDs']); $ToTagIDs = array_filter($ToTagIDs); foreach ($ToTagIDs as $key => $value) { $ToTagIDs[$key] = $value+31682; } //var_dump($ToTagIDs);exit; foreach ($ToTagIDs as $tagid) { $sql = "select keyword from v95_keyword where id=$tagid "; $keywords = $this->db->query($sql); while ($r = mysql_fetch_assoc($keywords)) { $keyword[] = $r['keyword']; } } $new_keyword = implode(",", $keyword); $sql="update v95_danji set keywords='$new_keyword' where id=$id"; $this->db->query($sql); unset($keyword); unset($ToTagIDs); } echo 'OK'; } |
3、执行php程序
http:///admin.php?m=admin&c=index&a=danji2
php代码:
代码如下 | 复制代码 |
public function danji2(){ set_time_limit(0); $sql = "select id,keywords from v95_danji"; $result = $this->db->query($sql); while ($r = mysql_fetch_assoc($result)) { $contentid = $r['id']; $keywords = $r['keywords']; $tags = explode(",", $keywords); foreach ($tags as $tag) { $sql = "select id from v95_keyword where keyword='$tag' and siteid=2"; $id = $this->db->query($sql); while ($r = mysql_fetch_assoc($id)) { $id = $r['id']; $sql = "insert into v95_keyword_data(tagid,siteid,contentid) values('$id',2,'$contentid')"; $this->db->query($sql); } } unset($tags); } echo 'OK'; } |
4、修改v95_keyword_data表siteid为2的contentid格式
代码如下 | 复制代码 |
update v95_keyword_data set contentid=CONCAT(contentid,'-14') where siteid=2; |
⑧使点击率可用
代码如下 | 复制代码 |
insert into v95_hits(hitsid,catid) select CONCAT('c-14-',id),catid from v95_danji; |
代码如下 | 复制代码 |
index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script> var chat = { init:function(){ chat.first(); $('#chat_btn').unbind('click').click(function(){ chat.send(); }); $('#my_chat').keyup(function(){ if(event.keyCode == 13){ chat.send(); } }); www.111cn.net }, first:function(){ $.getJSON('data.php',{ action:'first', type:'l' },function(data){ chat.btn_status._true(); $('#mwebtime').html(data.time); $('#chat textarea').val(data.chat); $('#chat textarea').stop(true,true).animate({scrollTop:9999}, 1); chat.socket(); }); }, send:function(){ chat.btn_status._false(); $.getJSON('send.php',{ txt:$('#my_chat').val(), type:'l' },function(data){ if(data.status==200){ chat.btn_status._false(); $('#my_chat').val(''); setTimeout(function(){ chat.btn_status._true(); },2000); } }); }, socket:function(){ $.getJSON('data.php',{ action:'while', type:'l' },function(data){ $('#mwebtime').html(data.time); $('#chat textarea').val(data.chat); $('#chat textarea').stop(true,true).animate({scrollTop:9999}, 1); chat.socket(); }); }, btn_status:{ _false:function(){ $('#chat_btn').html('等待').attr('disabled',true); }, _true:function(){ $('#chat_btn').html('发言').attr('disabled',false); } } } chat.init(); </script> </head> <body> <div id="chat"> <textarea wrap="physical" style="line-height:20px;font-size:12px;height:100px;width:200px;"></textarea> <BR /> <input id="my_chat" type="text" /> <button id="chat_btn" disabled="disabled">发言</button> </div> <div id="mwebtime"></div> </body> </html> data.php <?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pramga: no-cache"); set_time_limit(0); $get = $_GET['action']; $type = $_GET['type']; $file = $type.'.txt'; if(isset($get) && isset($type) && file_exists($file)){ switch($get){ case 'first': $chat = file_get_contents($file); $json=array( 'status' => 200, 'time' => gmdate("s"), 'chat' => $chat, ); echo json_encode($json); break; www.111cn.net case 'while': $oldsize = filesize($file); $newsize = filesize($file); while(true){ if($oldsize!=$newsize){ $chat = file_get_contents($file); $json=array( 'status' => 200, 'time' => gmdate("s"), 'chat' => $chat, ); echo json_encode($json); exit; } clearstatcache(); $newsize = filesize($file); usleep(10000); } break; } } ?> send.php <?php $json = array(); $txt = isset($_GET['txt'])?$_GET['txt']:''; $type = isset($_GET['type'])?$_GET['type']:''; if($txt!=''){ $file = $type.".txt"; if(file_exists($file)){ $fp = fopen($file,"a"); $str = "rn".'Admin:'.$txt; //$str = $txt."n"//linux; fwrite($fp, $str); fclose($fp); $json['status']=200; echo json_encode($json); exit; } } ?> |
相关文章
- 有一种方法,可以不打开网站而直接查看到这个网站的源代码.. 这样可以有效地防止误入恶意网站... 在浏览器地址栏输入: view-source:http://...2016-09-20
- <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
- 这篇文章主要介绍了c# 三种方法调用WebService接口的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-07
- 本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
- 本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
- 公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
- 其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
- 本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
- 这篇文章主要介绍了vue接口请求加密实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-12
- 一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
- 微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
- 小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
- 首先来看下流程:流程原理: 1.通过code获得access_token通过授权,并获取用户的信息(包括用户u_id)(这个u_id在后面的第三方登录表里面叫sina_id,那个表是需要自己建的) 2.查询第三方登录表,如果不存在用户sina_id,分2...2014-05-31
php导出csv格式数据并将数字转换成文本的思路以及代码分享
php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07- ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25
- 本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13