博文

目前显示的是 十月, 2011的博文

一些关于访问照片位置信息的资源

用iphone拍的照片,有照片的位置信息,该信息存在与jpeg格式的exit信息中,也并不是苹果公司的原创。其实就是图片文件存储空间中,有一个区域是专门存储附加信息的,比如光圈、快门、日期等等,其实信息量也蛮大的,地理位置信息就是其中一组以gps开头的信息。当然,我们一般使用的图片编辑工具会忽略掉该信息,也就是说iphone拍的照片在使用平常windows下的照片编辑器后可能会丢失该信息。 要读取exit信息,其实就是加载图片文件后,以二进制读取文件中相应的偏移量,从而可以获得照片exif信息。这里查到一个js访问exit信息的脚本,还有一个C#访问exif的类。   通过javascript访问照片exit信息: http://www.nihilogic.dk/labs/exif/exif.js 如果访问该url有问题,可以参考代码如下: /* * Javascript EXIF Reader 0.1.4 * Copyright (c) 2008 Jacob Seidelin, cupboy@gmail.com, http://blog.nihilogic.dk/ * Licensed under the MPL License [http://www.nihilogic.dk/licenses/mpl-license.txt] */ var EXIF = {}; (function() { var bDebug = false; EXIF.Tags = { // version tags 0x9000 : "ExifVersion", // EXIF version 0xA000 : "FlashpixVersion", // Flashpix format version // colorspace tags 0xA001 : "ColorSpace", // Color space information tag // image configuration 0xA002 : "PixelXDimension", ...

Facebook php sdk 使用入门

昨日有朋友问及关于facebook 的php sdk的问题,由于之前并没有关注其php sdk,并不是特别的了解,于是专门下载了php sdk来试用,现把学习所得与大家分享。   下载php sdk 首先,到facebook的开发者站上下载php的sdk,具体页面在以下地址: https://developers.facebook.com/docs/reference/php/ 这个页面其实是使用文档,讲到了许多使用方法。下载后把下载的压缩包解压缩到站点的目录中即可。   appkey和secretkey 下载的sdk中,有个example.php的文件(具体在example的子文件夹中),这其实就是一个登录并获取用户基本信息的一个演示。另外还有一个结合jssdk的演示,功能一样,效果不一样而已。 演示中提供了默认的appkey和secretkey,但是我只是第一次测试的时候,用它登录成功了,但后来再测试的时候就不能正常使用了,换了我的某一个应用的key,还是不能访问,提示说没有通过url访问的权限之类的说法。不得已,只好创建了一个新的应用,设置url为测试用的域名,还是报一样的错误。 仔细查找后发现,facebook此次升级版本后,增加了好多设置,其中有个url访问的设置默认是关闭的,将其打开即可。具体该选项在高级设置(Advanced)里,叫做Stream post URL security。   演示代码分析 我们只分析php sdk的代码,关于jssdk的代码之前曾有文章提到过。 小提示: 使用php sdk,必须打开php_curl.dll,在php.ini中,找到该行,去掉前面的分号,重启apache即可。 首先,引入facebook 的phpsdk,并初始化facebook对象: require '../src/facebook.php'; // Create our Application instance (replace this with your appId and secret). $facebook = new Facebook(array( 'appId' => '191149314281714...

Apache:基于名称的虚拟主机和基于IP的虚拟主机

Apache支持两种形式的虚拟主机,分别是基于名称的虚拟主机和基于IP的虚拟主机,今天下午经过几次实验,终于调试通过。现分析给大家:   1、基于名称的虚拟主机(NameVirtualHost) 基于名称的虚拟主机,是根据不同的ServerName,将站点指向不同的目录的一种形式。一般适用于只拥有一个IP,但拥有多个域名的情况。配置基于名称的虚拟主机,需要在httpd.conf中添加如下配置(此处以802端口为例): NameVirtualHost *:802 <VirtualHost *.802> ServerAdmin webmaster@zsz.com DocumentRoot "D:/program files/htdocs/fbsdk/" ServerName www.fb.com ServerAlias www.fb.com </VirtualHost> 在这里需要说一下的是:<VirtualHost *.802> 这一段千万不要写成<VirtualHost www.fb.com.802 >,本人深受其害,搞了半天才发现问题的症结,耽误了好些时间。   2、基于IP地址的虚拟主机 基于IP的虚拟主机,是根据不同的IP,将站点指向不同目录的一种形式。适用于有多个ip和域名,且每个域名拥有一个独立IP的情况。具体写法如下(此处以端口801为例): Listen www.fb.com:801 <VirtualHost www.fb.com:801> DocumentRoot "D:program filesxampphtdocsfbsdk" ServerName www.fb.com:801 ServerAdmin www@fb.com </Virtualhost> 这里,第一行可以直接写做 Listen 801 而ServerName的位置也可以不写端口号。 比较下代码,其实不难发现,前面我所出现的问题,其实是因为缩写的代码造成冲突引起的。基于名称的虚拟主机的配置中,代码段<VirtualHost *.802> 如果写成<VirtualHost www....

Aptana集成jquery及中文包的问题

话说,最早使用Aptana的时候,还是06年。此后在各种Web的开发场合,一直大力宣传推广该软件的使用。Aptana经历一段时间的收费风波后,现在又开始免费使用了,于是搞了个最近的版本装上,却发现英文的还是不习惯啊,整了个中文包,记录下。   Aptana是一个基于Eclipse的集成开发环境,其最广为人知的是它非常强悍的JavaScript编辑器和调试器。近年来又扩展了Ruby和iphone的集成开发环境,最新版的还支持jquery和其他一些js框架,可以依据jquery的文档,直接在编辑器中对方法给予智能提示,这对我们这些习惯了vs开发的人来说,太有利了。 支持jquery看来很简单,这里有一段拷贝来的说明,大家看看吧,今天没时间测试了,明天再测试: 安装完毕Aptana后,还不能使用智能提示的,应为没有库,我们还要在我们的项目中加入库文件。 首先下载: https://raw.github.com/aptana/javascript-jquery.ruble/master/support/jquery.1.4.2.sdocml 一定 要保证是.sdocml文件不是文本文档 再下载:http://code.jquery.com/jquery-1.4.1-vsdoc.js或是 http://encosia.com/source/jquery/jquery-1.5.0-vsdoc.js (需要3.0.1版本以上) 至于中文包,其实跟所有基于Eclipse的集成开发环境一样,都要找这个地址去安装,zend啊什么的,都要照这个路径安装就行,不过汉化的不全。 路径是: http://download.eclipse.org/technology/babel/update-site/R0.9.0/helios/ 至于怎么安装,不用说了吧。

IIS错误:在唯一密钥属性“fileExtension”设置为“.mp4”时,无法添加类型为 “mimeMap”的重复集合项

之前,在一个站点的配置中增加了对mp4等文件类型的支持,重装系统后,发现站点的代码报错,错误内容即标题。详细情况如下   之前的IIS配置中,.mp4类型的文件默认无法访问,所以个人在IIS7.5的mime类型中增加了.mp4的类型的支持,但问题是需要每台机器中增加这些设置,不利于团队协作,于是,只好将这些修改体现在代码上,具体实现方式为: 在站点的web.config中增加了 <staticContent> <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> <mimeMap fileExtension=".m4a" mimeType="video/mp4"/> <mimeMap fileExtension=".m4v" mimeType="video/m4v" /> <mimeMap fileExtension=".ogv" mimeType="video/ogg"/> <mimeMap fileExtension=".webm" mimeType="video/webm"/> </staticContent> 修改后一直正常运行。 前不久本人的电脑C盘空间不足,折腾多次后,无奈格盘重装,分给C盘很大的空间,系统也改为64位。今日重新运行该网站,即报错: 配置错误: 在唯一密钥属性“fileExtension”设置为“.mp4”时,无法添加类型为“mimeMap”的重复集合项。 怪的是代码现在仍在他人机器上正常运行,所以百度寻求答案。有云IIS应用程序池如果是集成模式,改为经典模式即可,但尝试后没有效果。 当然google也查了,这次甚为奇怪,google查不到(某些关键字又被屏蔽了?)。 这时候才想起来自己解决,看说明,似乎是扩展名的设置重复了嘛。于是删除该段配置,发现程序正常运行,且对于.mp4文件仍旧支持。 原来...

Joomla, Wordpress, Drupal 比较

最近搞了几个免费的php空间,分别在上面安装了Joomla, Wordpress, Drupal这几个开源的php内容管理系统,本来还想试试xoops,但免费空间上传确实太慢了,没能完成其安装和测试,先拿这几个比比吧。   1、使用体会   wordpress wordpress使用时间相对长一些,最初在新浪sae中搭建自己的博客使用的就是这个系统,插件很丰富,国内也有很多专门针对wordpress进行开发的团队,至于提供theme和plugin介绍和下载的站点也不计其数。代码看起来也比较简单,稍微有些php的知识,就可以完成代码及功能的修改。汉化也很完善,不懂英语的人也可以使用该平台迅速搭建自己的博客平台。 当然,wordpress定位于博客系统,做博客非常合适。但是做其他就有点困难了。前些日子仅仅了解wordpress,对一个要做自己公司网站的朋友推荐了wordpress系统,当然也可以实现,毕竟稍微稍有点别扭。只能说,在简单易用上,wordpress是胜了的。 wordpress安装皮肤和插件还算比较简单,下载了之后,解压,然后上传到web站点的对应目录即可。   Joomla! Joomla!汉化还是比较完整的,国内有许多专门的Joomla!爱好者站,后台的管理界面很漂亮,而且安装过程中还可以安装示例数据,这样就比较容易理解哪里的数据对应哪部分内容。 Joomla!有很多特别漂亮的皮肤,当然其中大多是收费的(谁闲的没事去做特别漂亮的皮肤,然后免费共享出去啊!),也有很多收费的组件和扩展。 说白了,Joomla!是一种形式的生态系统,许多人在免费使用它,也有许多人或公司依靠制作组件、扩展和皮肤来赚钱。 不过互联网上也常常传来不同的声音,说Joomla!不好的,怪它收费的,说要离开Joomla!去做drupal的。其实是其定位不同,不同的人适合不同的情况而已。 Drupal Drupal国内也有很多爱好者,据说文档很全。但我看到的结果是在国内爱好者还是比较少的,至少要比Joomla要少。而且几乎没有中文的文档。 Drupal的优势是其架构很优秀,使用该架构为基础,在其上进行二次开发会比较顺手。当然,这也有一定的学习成本,像我这样刚刚试着装了Drupal的新手,...

关于当前各种奇怪的智能手机

最近一段时间,一直使用各家的手机操作系统进行尝试,关于智能手机未来的发展,也有一点点自己的看法。结合在各种平台上开发的尝试和体验,在此聊表自己的看法。   1、安卓 安卓,我一直觉得它至今仍然是一个半成品,谷歌本没有做手机的经验,以至于到现在还有很多问题残留,是开源加上谷歌的口碑才使得其如此迅速的发展,结果造成版本混乱,甚至各家做的系统互不兼容。 安卓的UI,一直被人所诟病,直到3.0之后,引入WebOS的设计师之后,该现象才略有改观。 安卓的应用,现在兼容性问题很严重,比如没有统一的按键、屏幕分辨率版本太多,在实际开发中给开发人员带来很多的麻烦。以至于现在的安卓应用与当年java横行的时代一样,为每个型号的手机提供一个特定的应用。当然这还不算像什么点心安卓、魅族安卓、移动安卓之间的区别。 谷歌自然也意识到这个问题的严重性,现在android4.0尚未开源,如何权衡开源和统一,谷歌应该需要费一番大功夫。我也觉得,只有解决了该问题以后,安卓系统才算是一个完善且优秀的产品,看来要等到4.0普及之后了。 2、WP7 Windows phone 7是微软着力推出的一款智能手机产品,从时间点上看,该系统应该是在iphone迅速占领市场后仓促研发的一款产品。 wp7研发之初又放弃了之前相对成熟的windows mobile系统,以至于在wp7最初发布时,问题多多。 上个月推出的芒果,似乎还专门做了一套从silverlight扩展开来的framework,搞得开发人员也非常的头疼,你说临时推出的这么个操作系统,虽说基于silverlight,但又都不一样,还得从头再学,学会了会不会再被丢弃,也说不准啊。 为啥说会被放弃呢? 我们知道windows 8已经快要推出了,它可是一个全能的系统啊,PC的功能它都会支持。要命的是它在手机上还能运行,而且据说一款比较古老的手机上也可以运行。那等它的手机出了以后,谁还会用wp7? 当然,微软也有可能保留wp7,限制windows 8在手机上的使用,但这种情况只有一种可能:那就是window8正式发布的时候,IOS和安卓都死掉了! 3、WebOS WebOS,一款已死的操作系统,为啥还要提呢?个人对WebOS曾经可是寄予厚望的,但可惜hp是一家摧残新创意的公司,啥新的事物到它手上,都得死。 但是,WebOS的思想并没有死,我觉得安卓将来的...