thinkphp云书签

本文介绍了使用ThinkPHP实现的云书签应用,包括显示所有书签、新增书签、查找书签等功能,并解决了file_get_contents无法抓取HTTPS页面的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*@author   mxlin697@126.com

*实验网址 https://www.shiyanlou.com/courses/175

*/

1、 实验名称 :thinkphp云书签

效果:

①显示所有书签

https://img-blog.youkuaiyun.com/20170622170908729?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTGlseW5ldHRl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

新增书签

https://img-blog.youkuaiyun.com/20170622170948019?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTGlseW5ldHRl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

查找书签

https://img-blog.youkuaiyun.com/20170622171044561?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTGlseW5ldHRl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

④以及修改删除,刷新的功能

2、部分源码

php部分

①创建消息模板,使返回给ajax的格式统一

/*
* 创建消息模板
* @param integer $code
* @param string $content
* @return string
* */
private function CreateMsg($code,$content){
if(is_array($content)){
$content = json_encode($content);

$result = '{"code":"'.$code.'","content":'.$content.'}';
}else{
$result = '{"code":"'.$code.'","content":"'.$content.'"}';

}
return $result;
}


②格式化url

/*
 * 格式化icon后的url
 * */
 private function FormatIcon($href,$iconUrl){
 
  if(!$iconUrl != null && preg_match($href,$iconUrl)){
  $urlData = parse_url($href);
return $urlData['scheme'].'//'.$urlData['host'].$iconUrl;

  }elseif($iconUrl==null){
  $iconUrl = "https://dn-anything-about-doc.qbox.me/md04176000.png";
return $iconUrl;
  }
 }

获取站点的url和icon判断所保存的url是否正确

//获取站点的title和icon
 private function GetMarker($title,$url){
  if(!$html = file_get_html($url)){
  return false;
  }else{
  $data['title'] = $title;
  }
$data['href'] = $url;
if($icon = $html->find('link[rel=shortcut icon]',0)->href){
$data['icon'] = $this->FormatIcon($url, $icon);

}else{
$data['icon'] = $this->FormatIcon($url, null);

}
return $data;
 }
  

js部分

①把获取数据的ajax抽象 拎出来

function getData(url,data,fn){
$.ajax({
type:"get",
url:url,
data:data,
success : function(data){
data = JSON.parse(data);
fn(data);
},
error:function(data){
console.log(data);
}
});
}

html部分

①搜索模态框

<!--搜索书签模态框-->
<div class="modal fade" tabindex="-1" role="dialog" id="modal-search" aria-labelledby="gridSystemModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header" style="text-align:center;border:none;">
<h4 class="modal-title" id="gridSystemModelLabel">搜索书签</h4>
<h5 style="background-color: #3BB4F2;color: white;display:inline-block;border-radius:10px;padding:3px">支持模糊查询标题</h5>
</div>
<div class="modal-body" style="padding: 0 14%;">
<input type="text" class="form-control search-title" placeholder="标题" required="true"/>
</div>
<div class="modal-footer" style="border:none;padding-right:14%">
<div style="text-align:center;color:green;" id="search-suc-msg" hidden="true">
成功找到<span id="rows-num"></span>条记录
<time class="left-time">3</time>秒后关闭弹窗
</div>
<div id="search-btn-group">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-btn-default search-sub">提交</button>
</div>
</div>
</div>
</div>
</div>
<!--搜索书签模态框-->


3、遇到的问题

实验一开始是在linux环境下作的,最后是在本地环境重新做的

①一些linux命令

sudo service apache2 start //开启apache服务器

sudo service mysql start//开启mysql数据库

mysql -u root -p root//进入mysql数据库

unzip thinkphp_3.2.3_full.zip //解压tp框架压缩包

wget +网址 //从该网站下载文件

②javascript中json和字符串的转化方法


字符串转化为json: JSON.parse(var)

json转化为字符串:JSON.strify(json)

③file_get_contents($file) 不能用于抓取https页面 导致保存书签时不能正常进行

于是,百度

法一:

在php.ini 文件中

找到  ;extension=php_openssl.dll

去掉分号

https://img-blog.youkuaiyun.com/20170622171140273?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTGlseW5ldHRl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

二:

待研究

https://img-blog.youkuaiyun.com/20170622170802696?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTGlseW5ldHRl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

④ 格式化url

preg_match();怎么用???

正则??????????????















评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值