快速业务通道

PHP例解,第2部分 深入研究Webzine编辑和发送

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
个重要的文件处理函数。下表说明了每个函数所进行的操作。

函数 说明
file_exists(string) 将字符串作为文件名,如果文件名当前存在,则返回 true。
file(string) 将字符串作为文件名,用一个数组返回文件的正文,每行分别对应一个数组元素。请注意,行终止字符将位于数组中每行的尾部。
count(array) 返回数组中的元素个数。
fopen(string, mode) 字符串是一个文件名,模式是一个字符串,例如 "w" 表示写入,"r"表示读取。打开文件,并返回一个句柄。
fputs(handle, string) 将字符串写入指定的输出文件中。必须指定一个文件句柄,而不能以字符串形式指定文件名。
fclose(handle) 关闭文件,终止输出。

Save

save 函数将作者的输入写入一个文件中。因这个函数太长,在此我不能逐行分析它,但我会强调几个有趣的语句。

$entry = "$storynum^$storytitle^$storyimg^$synopsis";

上面的这个语句将 $storynum 、 $storytitle 、 $storyimg 和 $synopsis 变量连接起来,并用脱字符号作为分隔符。内嵌的变量替代使它比显式连接更容易且更有趣。

prepend("Main.txt",$entry);
$topicfile = "$subject.txt";
prepend($topicfile,$entry);

$entry 变量的值被添加到主故事菜单文件和主题特定的故事菜单文件中。所以,如果变量 $subject 等于 "Politics",它就被添加到文件"Politics.txt" 中。

清单 6. “搜索并替换”语句

// 选择性安全!将大多数 HTML 标记转换为文本。
$storytext = eregi_replace("<", "<", $storytext);
$storytext = eregi_replace("<b>", "<b>", $storytext);
$storytext = eregi_replace("<i>", "<i>", $storytext);

对故事正文应用了许多“搜索并替换”语句;您上面看到的只是一小部分。用HTML 符号 < 替换 < 符号将防止作者在文档中输入任何有危险的 HTML标记。但是,因为我们希望为作者提供一些格式化能力,所以我们随后用 <b> 替换 <b> ,用 <i> 替换 <i> ,等等。 eregi_replace 函数不区分大小写。如要执行区分大小写的替换,则可以使用 ereg_replace (名称中不带 "i")。

初始化,设置

当运行 author.php3 时,该程序首先调用以下的代码:

清单 7. 验证语句

if ($submit == "Submit") {
$status = "";
if (!isset($storyimg)) $storyimg = "$subject.gif";
validate("Subject",$subject,1);
validate("Story Title",$storytitle,10);
validate("Synopsis",$synopsis,50);
validate("Story Text",$storytext,300);
if ($status == "") {
$status = "complete";
save();
}
}

为何要使用 PHP

如果用户单击提交按钮调用表单(不是 "Preview Image" 按钮,尽管"Preview Image"按钮也是一个提交按钮),就会验证输入。 validate 函数检查每个域以确保它非空且足够长。(在此处添加一个最大长度特性将是一个很好的增强。)如果有问题, complain 函数(前面讨论过)就会更新全局变量 $status 。 如果没有问题,该程序就调用

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号