注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > WEB开发 > PHP 内容正文:结合AJAX进行PHP开发之入门

结合AJAX进行PHP开发之入门

发布时间:2006-09-20 09:08:13 来源:IBM 网友评论 0 条
  异步 JavaScript 和 XML(Asynchronous JavaScript and XML,Ajax)无疑是最流行的新 Web 技术。本文中我们将完全使用 PHP 和 Simple Ajax Toolkit (Sajax) 创建一个简单的相册作为在线 Web 应用程序。我们首先用标准的 PHP 开发方法编写简单的相册,然后再用 Sajax 将其变成活动的 Web 应用程序。

  创建一个简单的相册

  本文将使用两种方法创建一个简单的相册:传统的 Web 应用程序和基于 Sajax 的应用程序。我们将用 PHP 编写一个相册,读取某一目录中的内容,显示缩略图组成的表格。如果用户单击一个缩略图,就会完全展开该图像。因为编写的是传统应用程序,所以每次单击都会是一个新的 HTTP 请求,而参数则作为 URL 的一部分传递。

  您将学习如何将 Sajax 库应用于相册,了解为何使用 Sajax 可以加快应用程序的开发。

  添加一个分页器表

  访问相册的用户需要某种快速查看照片的方法。因为很多大照片不容易在一页上显示,所以需要创建一个分页器 —— 每次显示少量缩略图的简单表格。还要编写导航,帮助用户在图像列表中来回移动。

分页器提供了显示用户照片的一种方式 
图 1. 分页器提供了显示用户照片的一种方式

  什么是 OpenAjax Alliance?

  2006 年 5 月 JavaOne Conference 开始前,29 家公司的代表在 Adobe Systems 的会议室里碰头,准备大体上确定 Ajax 的未来,这个小组就称为 OpenAjax Alliance。

  小组做了几项决定,其中最显著的就是给自己取了个名字:OpenAjax Alliance。它还决定不把自己组织成一个正式的标准团体,或者 Eclipse Foundation 那样的开放源码主导的组织,因此小组自身的形式暂时也是非正式的。小组同意大约每周召开一次电话会议。

  OpenAjax Alliance 主要关注三个方面:通过提供互操作性降低采用 Ajax 的风险,保证 Ajax 解决方案坚持走开放标准路线和使用开放源码技术,保持 Web 的开放性。小组的第一项任务就是寻求建立和保持 Ajax 工具间互操作性的方法。

  OpenAjax Alliance 包括 31 家技术公司,其中有 IBM?、Adobe Systems、Eclipse Foundation、Google、Laszlo Systems Inc.、Oracle、Red Hat Inc. 和 Zend Technologies Ltd.。

  首先要收集至少 20 幅 .jpg 图片,并将它们放到一个文件夹中。每个图片还要有一个保存在单独缩略图文件夹中的缩略图。虽然可使用 GD 软件包生成缩略图(请参阅 参考资料),但本文假设已经准备好了缩略图。也可使用本文提供的照片和缩略图(请参阅 下载)。

  为了完成本文的剩余部分,后面假设照片保存在 /images 子目录中,缩略图则放在 /images/thumbnails 中。可以在代码中做适当的修改。此外,我们还假定缩略图和对应的图像使用相同的名称。

  分页器应该传递两个参数:start 是按照字母顺序显示的第一幅照片的索引号,step 是显示的照片数。

  清单 1. 相册查看器

/*
* Find a list of images in /images and provide thumbnails
*/
function get_table ( $limit_start = 0, $limit_step = 5 ) {
 $images = get_image_list('images');

 // Generate navigation for Previous and Next buttons
 // Code given below

 $output .= '<table class="image_table">';
 $columns = 5;
 foreach ($images as $index => $image) {

  // Begin directory listing at item number $limit_start
  if ( $index < $limit_start ) continue;

  // End directory listing at item number $limit_end
  if ( $index >= $limit_start + $limit_step ) continue;

  // Begin column
  if ( $index - $limit_start % $columns == 0 ) {
   $output .= '<tr>';
  }

  // Generate link to blown up image (see below)
  $thumbnail = '<img src="thumbnails/' . $image . '" />';
  $output .= '<td>' . get_image_link($thumbnail, $index) . '</td>';

  // Close column
  if ( $index - $limit_start % $columns == $columns - 1 ) {
   $output .= '</tr>';
  }
 }

 $output .= '</table>';

 return $nav . $output;
}

  这个表很简单,它从索引号 $limit_start 开始遍历图片列表。然后放上每个图片的缩略图,每五张图片作为一行。达到 $limit_start + $limit_step 的时候循环结束。

  该表是目录列表的可视化表示,因此需要一个函数列出目录中的所有图像。清单 1 中的 get_file_list() 函数用索引数组返回 /images 目录中的所有图片列表。下面是一个示例实现。

  清单 2. get_file_list 实现

function get_image_list ( $image_dir ) {
 $d = dir($image_dir);
 $files = array();
 if ( !$d ) return null;

 while (false !== ($file = $d->read())) {
  // getimagesize returns true only on valid images
  if ( @getimagesize( $image_dir . '/' . $file ) ) {
   $files[] = $file;
  }
 }
 $d->close();
 return $files;
}

  注意:本文后面还要使用 get_file_list() 函数。有一点很重要,无论何时调用该函数,返回的数组都是不变的。因为提供的实现要进行目录搜索,必须保证目录中的指定文件不会改变,每次都要按字母顺序排序。

 1/4    1 2 3 4 ›› ›|
相关文章
  • 基于AJAX技术提高搜索引擎排名
  • 利用PHP+JavaScript打造AJAX搜索窗
  • 使用PHP和AJAX的XML编程
  • 使用AJAX技术构建更优秀的Web应用程序
  • 信息周刊:AJAX的优势
【评论】【收藏本文】【打印】【关闭】
上一篇文章:利用PHP+JavaScript打造AJAX搜索窗
下一篇文章:结合AJAX的PHP开发之后退、前进和刷新
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
结合AJAX进行PHP开发之入门
结合AJAX进行PHP开发之入门
推荐阅讯
  • PHP V5.0.0 Beta 1下载地址列表
  • Antechinus PHP Editor V2.0下载地址列表
  • PHP中删除目录的三种方法
  • 用PHP读取和编写XML DOM
  • 通过缓存数据库结果提高PHP性能
  • 用PHP与XML联手进行网站编程
  • PHP中通过Web 执行C/C++应用程序
  • PHP5 OOP编程之代理与定制异常
  • PHP环境下配置在线编辑器FCKeditor
  • 利用PHP和AJAX创建RSS聚合器
阅读排行
  • 1.实例学习PHP之表单处理篇(一)
  • 2.实例学习PHP之表单处理篇(二)
  • 3.结合AJAX进行PHP开发之入门
  • 4.PHP V5.0.5下载列表
  • 5.用PHP读取和编写XML DOM
  • 6.使用"函数递归"实现动态树型菜单
  • 7.PHP环境下配置在线编辑器FCKeditor
  • 8.利用PHP和AJAX创建RSS聚合器
  • 9.实例学习PHP之投票程序篇(二)
  • 10.实例学习PHP之投票程序篇(一)
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载