PHP和AJAX打造高级RSS聚合器

PHP和AJAX打造高级RSS聚合器
RSS聚合器是一种特别适合于使用标准AJAX引擎进行构建的应用程序,然而,要实现对RSS回馈的跨域的AJAX请求往往是很难的。在本文中,我将向你展示如何利用一个简单的PHP函数来实现"桥接"AJAX引擎和RSS内容。   一、 引言   现在,开发一个RSS聚合器已经不再是困难的事情,但是开发一个高质量的RSS聚合器却仍然存在相当的难度。另一方面,创建一个定制聚合器一般不是很难,并且在这种聚合器内能够提供一个你自己选择的接口。RSS聚合代表了一类特别适合于一个AJAX应用程序所消费的数据,这是因为:它是XML格式的,并且AJAX能够良好地显示新的回馈而不必进行页面刷新。然而问题总是存在:在一个标准的AJAX引擎中实现跨域的AJAX请求是不可能的。在本文中,我将向你展示如何利用一个很简单的PHP函数来桥接AJAX引擎和远程内容(在...

php5的simplexml解析错误

php5的simplexml解析错误
前些日子用simplexml来解析一个rss数据源,很轻松就获得了想要的结果.不想没几天就开始报错: Warning: simplexml_load_file() [function.simplexml-load-file]: input conversion failed due to input error, bytes 0xAD 0xB5 0x3C 0x2F 刚开始猜想是php5的一个bug,但是搜索发现,有可能是rss源内混杂了其它编码的字符,导致simplexml解析错误. 也就是说,如果rss的声明是这样子: PLAIN TEXTXML: <?xml version="1.0" encoding="GB2312"?> 那么rss内容一定要是gb2312. 解决办法 用iconv转换编码...

如何不让访问PHP程序文件

如何不让访问PHP程序文件
如何不让别人访问自己定义的某些PHP文件呢? 由于我们有需要用到某些php文件,而又不希望别人直接访问这个文件,我们可以在其他包含文件比如global.php中定义一个参数,在被访问页面data.php前面判断是否定义了该参数,没有定义则禁止访问 在global.php中定义 <?php define('ROOT','./'); ?> 在data.php文件中判断: <? //data.php if (!defined("ROOT")) {  echo "You Cannot Access This Script Directly, Have a Nice Day.";  exit(); } ?> 这样的代码可以解决很多的安全问题,比如变量未定义[应该说在本文件内未定义]。 但是这样的...

在PHP中全面阻止SQL注入式攻击

在PHP中全面阻止SQL注入式攻击
在本系列文章中,我们将全面探讨如何在PHP开发环境中全面阻止SQL注入式攻击,并给出一个具体的开发示例。   一、 引言   PHP是一种力量强大但相当容易学习的服务器端脚本语言,即使是经验不多的程序员也能够使用它来创建复杂的动态的web站点。然而,它在实现因特网服务的秘密和安全方面却常常存在许多困难。在本系列文章中,我们将向读者介绍进行web开发所必需的安全背景以及PHP特定的知识和代码-你可以借以保护你自己的web应用程序的安全性和一致性。首先,我们简单地回顾一下服务器安全问题-展示你如何存取一个共享宿主环境下的私人信息,使开发者脱离开生产服务器,维持最新的软件,提供加密的频道,并且控制对你的系统的存取。   然后,我们讨论PHP脚本实现中的普遍存在的脆弱性。我们将解释如何保护你的脚本免于SQL注入,防止跨站点脚本化和远程执行,并且阻止对临时文...

用新PHP插件实现MySQL为基础的事务

用新PHP插件实现MySQL为基础的事务
  事务处理支持很长时间以来一直是大多数MySQL开发者的心愿,随着MySQL 4.0的发布,这个心愿最后终于得以实现。MySQL 4.0后不久,拥有一个新的MySQL插件的PHP 5.x也发布了。这个新插件,MySQL Improved,使得PHP开发者通过利用本地的PHP函数,获得了这些新的事务处理能力。这篇简短的教程将向你说明怎样利用这些新的MySQLi函数,用PHP实现以MySQL为基础的事务。 概要 如果你还不知道,那么我可以告诉你,事务只是一组SQL语句,通常因为它们是彼此相互依赖的,所以要在全有或全无(all-or-nothing) 的模式下执行。只有当所有组成的语句都执行成功了,一个事务才算是成功了;任何一个语句中的失败应该都会导致系统“回滚”到它先前的状态,以避免数据连接/崩溃问题。 对于这一点,两个银行帐户间的转帐是一个很好的例...

基于PHP的AJAX技术实现文件异步上传

基于PHP的AJAX技术实现文件异步上传
异步的文件上传是在现代的AJAX实现的Web应用里面经常要遇到,必须解决的问题。但是标准的AJAX类(XmlHttpRequest)无法实现传输文件的功能。因此,这里讨论的内容就是如何在AJAX的技术的基础之上构建异步的文件上传功能。在这个功能当中需要使用到内置的框及(IFRAME)来传输文件。这个功能实现的效果是页面在上传文件的时候,用户还可以使用该页面并且填写文件描述。   这个例子是我们引用AJAX的经典案例进行分析的。   系统环境   · 较新版本的浏览器。例如Opera,Firefox或者 Internet Explorer。   · PHP 4.3.0 或更高版本   · PHP 5 版本   · PHP 中的 'short_open_tag' 选项开启(否则会发生解析错误)。   功能分析   通过内置的IFRAME(框架)进行文件...

大型系统上PHP令人不爽的九大原因

大型系统上PHP令人不爽的九大原因
 我在过去的四年里一直致力于PHP应用的开发。PHP确实十分容易编写。但是PHP也有一些十分严重的缺陷。   下面我会给出我的理由,为什么PHP不适合于比小型业余网站更大的网站。   1. 对递归的不良支持   递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是,PHP并不擅长递归。Zeev,一个PHP开发人员,说道:“PHP 4.0(Zend)对密集数据使用了栈方式,而不是使用堆方式。也就是说它能容忍的递归函数的数量限制和其他语言比起来明显少。”见bug 1901。这是一个很不好的借口。每一个编程语言都应该提供良好的递归支持。   2. 许多PHP模块都不是线程安全的   在几年前,Apache发布了Web服务器的2.0版。这个版本支持多线程模式,在这个模...

在PHP中利用XML技术构造远程服务(资料传输)

在PHP中利用XML技术构造远程服务(资料传输)

未来的Web将是以服务为中心的Web,XML_RPC标准使得编写和应用服务变得非常简单。本文介绍XML_RPC标准及其PHP实现,并通过实例示范了如何在PHP中开发XML_RPC服务和客户程序。

Copyright © 理处言语然自 保留所有权利.   Theme  Ality 京ICP备07032740号

用户登录

分享到: