|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
接上一篇PHP例解Webzine编辑和发送(一) 清单 3:创建 HTML 表 <table border=1> <?php for ($i=0; $i<$elems; $i++) { $item = trim($cats[$i]); $ifile = ereg_replace(" ","",$item); $color = ($ifile == $topic) ? "pink" : "silver"; $url = "index.php3?topic=$ifile"; $anchor = " " . ($item != $topic ? "<a href=/"$url/">$item</a>" : "$item") . " "; echo(" <tr><td bgcolor=/"$color/"><center><b>$anchor</b></center></td></tr>/n"); } ?> </table> 这个表以 HTML 模式开始和结束,但其大部分中间过程都处于PHP模式下。现在我们逐行分析这个示例。它以HTML模式开始(这是PHP的正常开始模式)。表的边框宽度为 1: <table border=1> 现在,切换到PHP模式: <?php for 循环将从0开始,一直到元素的总数减1为止(因为它使用的是 < 而不是 <=)。换句话说,假如有3个元素,则将以0/1/2迭代它们: for ($i=0; $i<$elems; $i++) { trim 函数将删除前导/尾随空格并返回。这是必不可少的,因为用来读取类别文件内容的 file函数将在每个类别名的最后保留尾随换行字符。所以这将把 "Politics/n"转变为 "Politics"。 $item = trim($cats[$i]); 下面是一个“搜索并替换”操作,用来去掉 $item中的空格,并将结果存放在 $ifile 中。所以主题名 "The Arts" 将变为 "TheArts"。 在向网页传递参数(index.php3?topic=TheArts) 以及指定主题文件名(如TheArts.txt)时,主题名很有帮助。假如您没有必要关心空格,则会更加简朴。 $ifile = ereg_replace(" ","",$item); $color 的赋值使用三元运算符 ?:(它有与 C 类似的语法test?truevalue:falsevalue),以为选定的主题将$color 变量设置为 pink 或者 silver。 $color = ($ifile == $topic) ? "pink" : "silver"; 每个菜单项与一个 URL 相关联;所以假如主题为 "Politics",则URL将为 index.php?topic=Politics。PHP提供引号内的变量名替换。因此,在这个表达式中,$ifile变量的内容只在运行时替换引号中的$ifile。许多人发现这比用连接操作符显式地利用引号中的元素和变量名构建字符串更加轻易。 $url = "index.php3?topic=$ifile"; 在PHP中,句点操作符表示连接。我仍旧使用 ?: 运算符在此赋值操作中插入一个条件。假如当前项(比如说,Politics)不是选定的主题,则anchor是 <a href="index.php?topic=Politics>Politics</a>。假如选定的主题是Politics,则anchor就是 Politics。在任一种情况下,anchor 两侧都有空格。 echo(" <tr><td bgcolor=/"$color/"><center><b>$anchor</b></center></td></tr>/n"); 下面的echoe语句将指定的字符串插入输出流(即,HTML网页的正文)中。所以可以使用这条语句插入整个表行。在字符串中使用/"可以插入一个引号字符。上面计算出的$color和$anchor变量自动代入它们的引用位置: echo(" <tr><td bgcolor=/"$color/"><center><b>$anchor</b></center></td></tr>/n"); for 循环的结束: } 再次从PHP模式返回HTML模式: ?> 类别菜单的HTML表的结束: </table> 对程序创建过程的分析到此结束! 故事的表示 一旦选定一个故事,您就需要将这个故事的正文从故事文件打印到当前的网页上。(编辑模块author.php3 以准确的 HTML格式预备这个故事。)这是个简朴的过程。在下面的代码段中,假定故事编号存储在变量$story 中。假如 $story 等于33,则这个故事的文件为 s33.txt。 $storyfile = fopen("s$story.txt","r"); fpassthru($storyfile); 在上例中,fopen函数打开一个文件,并返回该文件的一个句柄,然后通过赋值运算符将这个句柄保存在变量$storyfile 中。fpassthru函数将文件的内容复制到当前的输出设备(输出HTML文件),并自动关闭该文件。 内容预报 本文(第 1.2 部分)介绍了 Webzine 这个简朴PHP应用程序的第一部分,并具体分析了几小段代码示例。(应用程序的这部分代码大小只有2K,所以没有许多大型的代码示例供我们选择!)这应该使您对PHP的强盛功能有了很好的体验,但后面的内容还多着呢。 下一部分的篇幅与前面大致一样。我将说明故事菜单的表示是如何呈现在读者面前的,从而完成对发送模块的讨论。然后我将讨论答应作者提交故事的编辑模块。虽然编辑模块比发送模块大得多,但我们不会如此具体地讨论它:我们只需要说明与发送模块不同的那些有趣概念。 参考资源 PHP.net是 PHP语言的官方主页。在这里您可以免费下载PHP的最新版本,还可以查看PHP开发的发展方向。这里还有一个常见问题解答、一个手册以及许多其他资源。 PHPbuilder.com面向的是开发人员,其中包含大量的文章和代码样例、零活登记以及到PHP资源的链接。 Webmonkey的PHP部分包含有关PHP的大量入门级文章。 返回类别: 教程 上一教程: php和js交互一例 下一教程: 用 PHP 实现的简朴线性回归:(一) 您可以阅读与"PHP例解Webzine编辑和发送(二)"相关的教程: · PHP例解Webzine编辑和发送(一) · PHP 深入例解 Webzine 编辑和发送(三) · 例子:用PHP3发送MIME格式的邮件(可以发附件了哦) · 在PHP中用Socket发送电子邮件(一) · 使用php通过smtp发送邮件新手指南 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |