发表于 php

(转载) 使用PHP创建一个REST API(Create a REST API with PHP)

译者前言: 首先这是一篇国外的英文文章,非常系统、详尽的介绍了如何使用PHP创建REST API,国内这方面的资料非常非常的有限,而且基本没有可操作性。这篇文章写的非常好,只要对PHP稍有了解的程序员,看完本文基本可以自己动手写REST API,花了几个小时翻译过来和大家共享,希望可以帮助大家。转载请注明出处。 本文地址:http://hmw.iteye.com/blog/1190827 原文地址:Create a REST API with PHP One of the latest (sort of) crazes sweeping the net is APIs, more specifically those that leverage REST. It’s really no surprise either, as consuming REST APIs is so incredibly easy… in any language. It’s also incredibly easy to create them as you essentially [...]

1 条评论

php curl常用的5个例子 (转)

php curl常用的5个例子(转) 转载请注明 作者:海底苍鹰 地址:http://blog.51yip.com/php/1039.html 我用php ,curl主要是抓取数据,当然我们可以用其他的方法来抓取,比如fsockopen,file_get_contents等。但是只能抓那些能直接访问的页面,如果要抓取有页面访问控制的页面,或者是登录以后的页面就比较困难了。 1,抓取无访问控制文件 查看复制打印? <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, “http://localhost/mytest/phpinfo.php”); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果把这行注释掉的话,就会直接输出 $result=curl_exec($ch); curl_close($ch); ?> 2,使用代理进行抓取 为什么要使用代理进行抓取呢?以google为例吧,如果去抓google的数据,短时间内抓的很频繁的话,你就抓取不到了。google对你的ip地址做限制这个时候,你可以换代理重新抓。 查看复制打印? <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, “http://blog.51yip.com”); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080); //url_setopt($ch, CURLOPT_PROXYUSERPWD, ’user:password’);如果要密码的话,加上这个 $result=curl_exec($ch); curl_close($ch); ?> 3,post数据后,抓取数据 单独说一下数据提交数据,因为用 curl的时候,很多时候会有数据交互的,所以比较重要的。 查看复制打印? <?php $ch = curl_init(); /*在这里需要注意的是,要提交的数据不能是二维数组或者更高 *例如array(‘name’=>serialize(array(‘tank’,’zhang’)),’sex’=>1,’birth’=>’20101010′) *例如array(‘name’=>array(‘tank’,’zhang’),’sex’=>1,’birth’=>’20101010′)这样会报错的*/ $data = array(‘name’ => ‘test’, ‘sex’=>1,‘birth’=>’20101010′); curl_setopt($ch, CURLOPT_URL, ‘http://localhost/mytest/curl/upload.php’); curl_setopt($ch, CURLOPT_POST, 1); [...]

14 条评论

50 个非常有用的PHP工具(转)

(版权属于原作者: http://www.javaeye.com/news/5208-50-very-useful-php-tools-editing-in) PHP是使用最为广泛的开源服务器端脚本语言之一,当然PHP并不是速度最快的,但它却是最常用的脚本语言。这里有50个有益的PHP工具,可以大大提高你的编程工作: 调试工具 Webgrind Xdebug Gubed PHP Debugger DBG PHP_Debug PHP_Dyn MacGDBp 测试和优化工具 PHPUnit SimpleTest Selenium PHP_CodeSniffer dBug PHP Profile Class 文档工具 phpDocumentor PHP DOX 安全工具 Securimage :验证码工具。 Scavenger PHP-IDS Pixy :代码检查工具。 图形处理 PHP/SWF Charts pChart – a chart-drawing PHP library WideImage MagickWand For PHP 代码优化 PHP_Beautifier PHPCodeBeautifier GeSHi – Generic Syntax Highlighter 版本控制系统 [...]

评论暂缺

iphone app 如何联机调试和发布程序(99$) (转)

原帖地址  http://www.cocoachina.com/bbs/read.php?tid-7923.html 这两天公司让整理文档,一直想写一篇更详细的联机调试的文档,这次刚好是机会 我写的只是联机调试的步骤,并没有深入的去写为什么这么做(关键是我不知道) 希望这篇文章对菜鸟们有帮助, 高手们见了了就不要笑了~~ 明天再接着写如何发布程序 必须条件: 99$ (没这个就不用再往下看了) 我的系统是10.5.7   不同版本的系统,可能有点小小的区别 首先登录到 http://developer.apple.com/iphone/index.action 如果已经购买了99$, 登录进去后会看到如下地方(图1)    点进去会看到如下界面(图2)    这里我要提一下,公司和个人的$99  Team里面的内容是有所不同的(至少我发现有不同) 公司的Team下面可以加入Member  而个人的不能加入Member只能是一个人,不过这里并无大碍,不妨碍我们下面的内容。 点击进入 Certificates 看到如下内容(图3) 点击图中红色部分 会下载下来一个名字为  AppleWWDRCA.cer  的东西 这个是调试发布IPHONE 程序必须的一个东西,这个东西我们只要下载一次就够了,即使你有N个IDP,那么无论是调试程序,还是发布程序,那也只需要一个,后面我们要说到Distribution页面时,也有这个链接,如果已经下载过,那么就不用再下这个了。(最初因为对这个流程不懂,我下载了N次这个), 下完之后,点击这个,这个东西就会装到自己的机器上。 打开你的  Keychain Access ,如果dock里面没有到 C盘 ApplicationsUtilities下面去找Keychain Access,中文名字好像叫” 钥匙串…” 打开这个,你会看到如下(图4) 这代表你已经装进去了。 下面,我们打开Keychain的这个菜单(图5)    按着下面的图来 (图6)    (图7)    (图8)    然后continute 就会生成一个CertificateSigningRequest.certSigningRequest 的文件,在你的桌面上哦 下一步(图9):    点击Request Certificate(图10)    点击Choose [...]

7 条评论

openx – 强大的 php 开源广告系统 市场营销 数据统计

openx 官方网站 http://www.openx.org/ 据说安装量达到 100万 个网站,包含客户系统,广告系统,支持图片,flash,html,js嵌入式的广告 可计算 曝光率,点击量,根据 CPM (千人成本)计算收益 OpenX Ad Server is a powerful open source platform that manages advertising for more than 150,000 websites in over 100 countries. More than 300 billion ads run through OpenX Ad Servers each month. And since it’s available as a software download or as a hosted service, [...]

1 条评论

用 javascript 脚本 防止搜索引擎抓取页面上的敏感信息 (jquery)

为了防止在搜索引擎搜索到不想公开的信息如:邮箱,电话,但是又想在相应的页面显示,除了设置爬虫屏蔽整个页面,还有一个比较通用的方法利用js重写内容 test.php 代码如下:  <p class=”hex”><?=bin2hex(“+86(10) 85911014-13″)?></p> <p class=”hex”><?=bin2hex(“wangchao123.com@gmail.com)?></p> <p class=”hex”><?=bin2hex(“会员姓名”)?></p> ps:   为所有需要替换的标签绑定 hex 样式以便jQuery选择器选择 (bin2hex 将字符串专函为 ASCII码)   jQuery 代码部分: <script language=”javascript”> //加载完成后替换所有 hex 的地方 $(function (){   $(“.hex”).each(function(){   var oldtext = $(this).text();    $(this).text(hex2bin(oldtext));  }) }) //ascii 码,字符串互转的方法 function hex2bin(hex){  var result = “”;  if(hex && hex.length && hex.length % 2 == 0){   for(var i [...]

, ,

评论暂缺

WordPress文件下载插件——Download Monitor

特征: 可以设置下载分类 可以设置只为注册用户下载 在后台管理中排序和分页 支持wordpress2+(包括2.5) 支持重新上传文件,方便更新文件 图象显示模式(在网页中显示一个下载链接图象) 记录下载点击量(管理员下载的次数除外) 可以用模板标签在你的网页的sidebar中显示热门下载,最近下载,随机下载 可以在文章中输出下载链接 可以在wordpress的文本编辑器中以下拉菜单形式添加链接(注:切换到html模式下) 安装使用: 下载download-monitor并解压缩。 使用FTP工具上传download-monitor文件到你的plugins目录下。 在FTP管理面板里,在wp-content目录里,改变upload文件属性为777,否则,你将不能上载文件(方法:鼠标右击uploads,找到属性,设置为777)。 登录到你的wordpress后台,激活该插件。 激活好了后,去Manage->Download下就可以添加插件了。 下面我们截了个图,让大家看下:   好了,在这里我们需要强调的是如何去调用下载,使得下载文件显示在你的wordpress前台,其实方法就在后台的instructions中,只是我们在这里也拿出来说下。 文件下载调用标签分别为:(注意:使用时,用你的download id号替换掉下面的id) 下载+编号: 下载: 下载URL: 编号: 图片: 在wordpress模板中,下载标签调用:(注意:用下载次数替换掉’$no’) 最新下载 : <?php wp_dlm_show_downloads(1,$no); ?> 最近下载: <?php wp_dlm_show_downloads(2,$no); ?> 随机下载: <?php wp_dlm_show_downloads(3,$no); ?> 调用时将标签换半角符号 显示所有的下载: 只需要添加到你的page(页面)中. 用分类选择器显示下载page(页面):添加 Most Popular Downloads No Downloads Found 到一个page(页面)中. 以列表的形式显示单个分类:使用[download_cat#id],注意:用分类的id替换掉这里的id.

,

4 条评论

cvs update 提示信息含义

“cvs update” 后在信息框里会列出你的操作,你的文件update的情况,这里是CVS使用的所有其它单字符信息性消息的列表:   U [path]  在本地机更新get到了服务器上最新的或者最新版本的文件。 P [path]  像“U”一样,只是在update时你的网络带宽少的情况下CVS服务器所出现的提示。 M [path] 这意味着您已经修改过该文件了;而且,有可能资源库中新的更改已成功地合并到该文件。 C [path] 错误警报,”C” 字符表明该文件存在冲突,需要在使用 “commit” 提交前解决这冲突。 A [path] 该文件是计划要添加的,即添加了但尚未提交,这时你还使用update命令,CVS就会有这个提示,当你 “commit” 时,它被正式添加到服务器库中,问题解决。 R [path] 象 “A” 一样,”R” 让您知道该文件计划要删除的,即删除了但尚未提交,这时你还使用update命令, CVS就会有这个提示,当你 ” commit” 后,该文件就会从服务器库中删除,问题解决。

, ,

1 条评论

is_null(), empty(), unset() 区别和用法 PHP

is_null 在下列情况下一个变量被认为是 NULL:   被赋值为 NULL。 尚未被赋值。 被 unset().  NULL 类型只有一个值,就是大小写敏感的关键字 NULL empty() “”、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。 是非空或非零的值,则 empty() 返回 FALSE psL由于这是一个语言结构而非函数,因此它无法被变量函数调用。 empty()常用来检测 request 过来的值是否为空值(即是否传递过来) unset() 不是一个真正的函数:它现在是一个语句 1. 如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。 <?php function destroy_foo() {     global $foo;     unset($foo); } $foo = ’bar’; destroy_foo(); echo $foo; ?> 结果: bar 2.如果在函数中 unset() 一个静态变量,则 unset() 将销毁此变量及其所有的引用。 <?php function foo() {     static $a;     $a++; [...]

1 条评论

回到顶端 TOP

mian: ___38 queries ___ 1.086 seconds.