年少轻狂,幸福时光

技术文档

技术文档

美女时钟

美女时钟

2013-11-15 2013-11-15 8338浏览 6评论 简洁版

偶然在一个网站上面看到了美女时钟这个东西,觉得挺好玩的,非常养眼。发现图片来自搜道,Google了一下,美女时钟已经流行一段时间了,相对来说搜道的较为知名。可惜它没有开放官方API模块来供其他网站调用,但是它提供了两个API地址,可以提供一些数据,利用这些数据我们可以自己来做美女时钟模块。

本站演示:http://loosky.net/clock

文章、代码摘自:arayzou

1、获取图片地址

搜道提供的当前时间的美女时钟API为: http://www.sodao.com/ShowTime/gt

当前时间的下一分钟的API为:http://www.sodao.com/ShowTime/gt1

由于不能直接用ajax来请求搜道的数据,因为涉及到跨域问题,因此需要在本站用PHP来请求搜道的数据并提供给ajax使用。

分别建立clock.phpclock_gt1.phpclock.php代码如下:

<?php
function postIt($url)
{
    $result=file_get_contents($url);
    return $result;
}

$url="http://www.sodao.com/ShowTime/gt";

print_r(postIt($url));

阅读更多...

地图及地图数据采集方式

地图及地图数据采集方式

2013-11-01 2013-11-01 6522浏览 0评论 简洁版

团队平时有做地图数据方面的一些研究和开发,在知乎上有看到这个问题--“百度地图、高德地图的数据从哪里得到的?”,回答得挺好的,做个总结。

要弄懂地图数据采集方式,首先得对地图数据做一个分类,因为不同分类的数据,其来源,采集方法都是有大不同的。

1 地图图层

地图图层

如上图,电子地图对我们实际空间的表达,事实上是通过不同的图层去描述,然后通过图层叠加显示来进行表达的过程。对于我们地图应用目标的不同,叠加的图层也是不同的,用以展示我们针对目标所需要信息内容。

其次呢,引入一下矢量模型和栅格模型的概念,GIS(电子地图)采用两种不同的数学模型来对现实世界进行模拟:

  • 矢量模型:同多X,Y(或者X,Y,Z)坐标,把自然界的地物通过点,线,面的方式进行表达

阅读更多...

Nginx环境下设置WordPress 301重定向

Nginx环境下设置WordPress 301重定向

2013-10-25 2013-10-25 6034浏览 0评论 简洁版

小站旧的固定链接形式为:/archives/%post_id%.html , 由于历史原因,发现一些附件、图片的地址都变成了 http://loosky.net/archives/文件地址,造成不能正常显示或访问。

故重新更新为:/%post_id%.html

在Nginx环境下通过301进行永久重定向,代码为:

rewrite ^/archives/(.*)/$ /$1 permanent;

当然也可以分开写,如:

rewrite ^/archive/([0-9]+).html$ /$1.html permanent; #文章
rewrite ^/archive/category/(.*)$ /category/$1 permanent; #目录分类
rewrite ^/archive/tag/(.*)$ /tag/$1 permanent; #tag分类
rewrite ^/archive/date/(.*)$ /date/$1 permanent; #日期分类

其中permanent表示返回301永久重定向,游览器访问地址会显示跳转后的URL地址!

阅读更多...

Flash上传出现IO Error #2038的错误解决方法

Flash上传出现IO Error #2038的错误解决方法

2013-10-23 2013-10-23 16082浏览 0评论 简洁版

1、问题

最近在开发网盘系统的时候发现,上传大文件时会提示IO Error #2038 的错误。系统采用了PHP和Flash控件来上传文件,网上的资料表明出现此错误的可能原因包括:

  1. URL无效

  2. 上传文件大小超过服务器最大上传限制或最大POST限制

  3. 与服务器连接异常中断

  4. 上传的文件为空

  5. 文件(夹)权限

2、解决方法

首先排除了3、4和5的原因,而在上传小文件的时候是正常的,也可以排除1的原因。故此集中在第2项进行解决,可能的原因包括:

阅读更多...

WordPress获取文章(相册)中图片的数量

WordPress获取文章(相册)中图片的数量

2013-10-20 2013-10-20 6032浏览 1评论 简洁版

1. 需求

小站的相册分类中文章主要有两种,一种使用的是WordPress的原生相册功能,另外一种则是普通的文章,文章内插入了图片;本文的需求就是统计文中的图片的总张数。

演示效果见:http://loosky.net/archives/category/album

演示图片

2. 解决方案

获取文章图片数量函数

将函数post_img_number放在functions.php中。

function post_img_number(){
    global $post, $posts;
    ob_start();
    ob_end_clean();

    //使用do_shortcode($post->post_content) 是为了处理在相册的情况下统计图片张数
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i',do_shortcode($post->post_content), $matches);
    $cnt = count( $matches[1] );
    return $cnt;
}

注:本函数最大的改进是通过使用do_shortcode($post->post_content)来调用WordPress文章的内容而不是使用$post->post_content,可以解决使用原生相册功能功能时图片不能统计的问题。

阅读更多...

长微博生成(html to image)原理

长微博生成(html to image)原理

2013-10-01 最后修改:2013-10-27 12:13 33561浏览 20评论 简洁版

在平时工作中有一些需求,简单而言就是需要将一些内容生成图片。简单的内容通过PhotoShop处理还行,但是类似于带表格等的内容,每次都通过PhotoShop进行处理太浪费时间。网上有很多类似于长微博等的生成工具,生成简单的图片还行,但是要使用富文本生成图片,则多需要money,于是便自己研究了一下基于PHP的实现。

首先展示一下演示效果http://loosky.cn/

需求及原理

基于PHP,将html内容生成图片(PNG,JPEG等)

实现方法

1. 直接通过图形函数生成

可以直接使用PHP中自带的GD库imagick,将文字内容转换成为图片。这在处理纯文字内容的时候是很给力的,但是对于富文本内容来说却很吃力了,很难处理好。目前开源的有painty等,可以支持p、img等几个简单的html标签。

2. html->pdf->png

该方式即首先将html内容生成pdf文档,再将pdf文档转换成为图片。

html to pdf:目前较为成熟的方案包括tcpdfHTML2PDF等,其实HTML2PDF也是使用的tcpdf的内核;

pdf to png:可以通过imagick php扩展。

阅读更多...

Microsoft Office 2010和2013共存的问题

Microsoft Office 2010和2013共存的问题

2013-07-30 最后修改:2013-10-23 11:08 17371浏览 0评论 简洁版

问题

最近把Office升级到了2013版本,发现NoteExpress不能正常使用了,官方的最新可用版本还没有放出来(其实支持Office 2013的个人版已经放出来了,集团版的还木有,只好再等等了),于是只好又重新安装了一下Office 2010,选择的“新增功能组件”的方式。

安装成功后,文档都自动关联到了Office 2010,但是当打开Office 2013之后,文档又重新关联到了Office 2013,并且每次打开都会出现配置界面,不断重复此过程。

解决方法

在“运行”(Windows徽标键 + r)中依次输入下面两条命令即可:

阅读更多...

Tiny Tiny RSS--Google Reader的替代

Tiny Tiny RSS–Google Reader的替代

2013-07-30 2013-07-30 20364浏览 2评论 简洁版

Google Reader是一款无可替代的伟大产品,但实实在在地跟我们告别了。一直以来习惯于通过订阅RSS来浏览文章,说实在话并不喜欢通过微博或者微信来浏览,信息量太大,而真正有用的东西又不多,极容易被淹没,不容易沉淀。

Google Reader关闭后,一直用着the Old Reader,其使用习惯和界面均比较接近于Google Reader。但比较痛苦的地方在于速度和稳定性均不是很好,经常长时间不能访问,难以忍受。于是便想自己搭建一个平台,先尝试了NewsBlur,基于Django的,步骤相当繁琐。刚好碰到小众软件介绍了Tiny Tiny RSS,基于PHP+MySQL/PostgreSQL,安装起来也很方便。于是便安装了一个试试,发现挺不错的。

Tiny Tiny RSS 是使用 SimplePie 作为 RSS 抓取引擎的,抓取回来的文章数据需要保存在 MySQL/PostgreSQL 数据库里,抓取数据的时候,需要消耗一定的流量,所以,如果你的订阅源多的话,搭建类似的站点的确是一个消耗存储空间、带宽的活。

一、优点

项目主页: http://tt-rss.org/,其优点如下:

  1. feed状况检查:可以检查订阅的feeds是否失效
  2. 支持各种主题,包括模仿Google Reeder、feedly界面的主题
  3. 有适合移动设备的皮肤/插件
  4. 支持插件,其中精品插件包括ff_feedcleaner(feed内容过滤)、af_feedmod(制作全文阅读feed)、oneclickpocket(一键发送到pocket)、fever(模拟fever api,支持更多客户端)等
  5. 支持多种平台的客户端,包括Andriod、WP、iOS等
  6. 可以灵活地设置更新频率,第一时间获得订阅更新
  7. 支持导入OPML
  8. 可以收藏
  9. 有中文版本,但不完全
  10. filter功能:类似gmail的filter。从标题,内容,时间等等中匹配关键词,然后可以选择是打分还是加tag,加label,加星,标记已读,删除条目等,filter可以是作用于所有feed或者指定feed。可以是匹配关键词,或者是剔除关键词。
  11. 条目中的图片可以选择是显示还是隐藏。
  12. 邮件digest。把每天的未读条目作为digest发送到指定邮箱。而且可以选择发送了的条目自动标记为已读。发送时间也可以指定。
  13. 基于sphinx的全文搜索
  14. ...

二、安装要求

要求其实挺简单的,见官方wiki

1. PHP版本必须高于5.3;
2. 可选PostgreSQL 或 MySQL数据库,其中MySQL数据库必须支持InnoDB.

阅读更多...