函数:Abs()
数学运算函数库
Abs
取得绝对值。
语法: mixed abs(mixed number);
返回值: 混合类型资料
函数种类: 数学运算
内容说明
返回参数 number 的绝对值。若 number 是倍精确浮点数,则返回值也是倍浮点数;其它的类型则返回类型为整数。
Filed under: PHP 技术 学习 教程 | No Comments »
数学运算函数库
Abs
取得绝对值。
语法: mixed abs(mixed number);
返回值: 混合类型资料
函数种类: 数学运算
内容说明
返回参数 number 的绝对值。若 number 是倍精确浮点数,则返回值也是倍浮点数;其它的类型则返回类型为整数。
Filed under: PHP 技术 学习 教程 | No Comments »
Abs: 取得绝对值。
Acos: 取得反余弦值。
ada_afetch: 取得数据库的返回列。
ada_autocommit: 开关自动改动功能。
ada_close: 关闭 Adabas D 链接。
ada_commit: 改动 Adabas D 数据库。
ada_connect: 链接至 Adabas D 数据库。
ada_exec: 执行 SQL 指令。
ada_fetchrow: 取得返回一列。
ada_fieldname: 取得字段名称。
ada_fieldtype: 取得字段资料类型。
ada_freeresult: 释出返回资料的内存。
ada_numfields: 取得字段数目。
ada_numrows: 取得返回列数目。
ada_result: 取得返回资料。
ada_resultall: 返回 HTML 表格资料。
ada_rollback: 撤消当前交易。
AddSlashes: 字符串加入斜线。
apache_lookup_uri: 获得所有的 URI 相关信息。
apache_note: 获得及配置apache服务器的请求纪录。
array: 建立一个新的数组。
array_walk: 让使用者自订函数能处理数组中的每一个元素。
arsort: 将数组的值由大到小排序。
Asin: 取得反正弦值。
asort: 将数组的值由小到大排序。
aspell_check: 检查一个单字。
aspell_check-raw: 检查一个单字,即使拼错也不改变或修正。
aspell_new: 载入一个新的字典。
aspell_suggest: 检查一个单字,并提供拼写建议。
Atan: 取得反正切值。
Atan2: 计算二数的反正切值。
base64_decode: 将 BASE64 编码字符串解码。
base64_encode: 将字符串以 BASE64 编码。
basename: 返回不含路径的文件字符串。
base_convert: 转换数字的进位方式。
bcadd: […]
Filed under: PHP 技术 学习 教程 | No Comments »
当用户在参观网页时,有时想 Email 给 Webmaster 但是再执行 Email 程序总是不方使,用户在按下 mailto:abc@abc.abc.tw 还要花段时间打开自己这儿的 Outlook 岂不麻烦。这时,若是 Homepage 能提供写信的功能就太酷了。同时意见信箱还是以提醒或者要求用户一定要填入哪些资料,这对资料仓储而言,也是了解客户的最好方法。 整个意见信箱其实就像 Outlook 或者其它电子邮件软件,打开寄发新邮件的功能,不同的地方在于使用 Outlook 时,寄件人是固定的,而要填上收件人的地址;而网站上的意见信箱,收件人几乎都是 Webmaster,反而是要填上寄件人的电子邮件地址。当然另一个不同之处是 Outlook 处理寄信的步骤;而意见信箱是由 Web 服务器处理用户发送的信件。
在更进阶的设计后,甚至可以变成 Web Mail,像 HotMail 般,只要用浏览器就可以在任何地方用任何电脑收发信件。
当然,也可以做进阶的设计,将用户的意见储放在数据库中,留待日后整理成更有用的资料。不过这就不是这节要讨论的部份了。
在 UNIX 的系统中,大部份和电子邮件有关的问题都和 sendmail 有关,除非系统管理员较偏执,才会用其它的系统。因此,意见信箱的设计开发,也是使用 sendmail 来达成所需要的功能。而 WindowsNT 系统中,由于没有 sendmail 程序,需要另行符费购买,或使用其它的邮件派送软件,因此本节程序无法在 WindowsNT 系统执行。
程序的流程如下
送出填写意见的表格到用户的浏览器上。
用户填好后送出资料到服务器。
服务器将用户填的资料整理后,存入文件。
利用 UNIX 的管道指令及 sendmail 程序将意见送给系统管理人员。
服务器通知用户意见已送出。
以下就是完整的范例程序
<html>
<head>
<title>意见信箱</title>
</head>
<body>
<?php
$mailto=“yourname@hahaha.com.tw”;
if (($topic!=“”) and ($Email!=“”) and ($body!=“”)) {
$tmpfilename = tempnam(“/tmp”, “dm”);
$fp = fopen($tmpfilename, “w”);
fwrite($fp, “From: ”.$Email.“\n”);
fwrite($fp, “Subject: ”.$topic.“ <访客来信>\n\n”);
fwrite($fp, $body.“\n\n”);
fwrite($fp, “送信人:”.$sender.“\n”);
fwrite($fp, “发信IP:”.$REMOTE_ADDR.“\n”);
fclose($fp);
$execstr=“cat ”.$tmpfilename.“ | /usr/lib/sendmail ”.$mailto;
exec($execstr);
$execstr=“echo $sender $REMOTE_HOST >> /var/log/mail.log”;
exec($execstr);
echo “信件已送出!!本站工作人员尽快处理您的问题<p><br><br><br><br><br>”;
} else {
?>
<form action=<? echo($GLOBALS[“PHP_SELF”]); ?> method=post>
<table border=0>
<tr><td>主题</td><td><input type=text size=20 name=topic></tr>
<tr><td>姓名</td><td><input type=text size=20 name=sender></tr>
<tr><td>Email</td><td><input type=text size=20 name=Email></tr>
<tr><td colspan=2>内容<br><textarea cols=26 rows=10 name=body></textarea></td></tr>
<tr><td colspan=2><div align=right><input type=submit value=”送出”></td></tr>
</table>
</form>
<?
}
?>
</body>
</html>
程序在 PHP 处理解析时,先判断用户是否填入资料。若没有资料则送出意见表单给用户,如果资料则表示用户已输入相关的资料,则进行处理。
处理的原则是先将用户填写的资料写入临时文件中,但为了防止多用户同时填写意见时,会造成文件被覆盖,因此需要每次都有不同的临时文件,这个问题可以使用 tempnam() 函数来解决,用来建立独一无二的临时文件。 在文件名的问题处理完后,利用 PHP 提供的文件处理功能,将用户填写的资料写入方才建立的文件中。将文件关闭就初步完成。即使资料没有邮寄出去,系统仍能保存意见文件。值得注意的是,若存放在 /tmp 中,有些 UNIX 的系统 (如 […]
Filed under: PHP 技术 学习 教程 | No Comments »
网络广告,变成了 Internet 上的热门学问。而 468×60 更变成了广告人员绞尽脑汁的尺寸。 在处理广告时,若能直接使用浏览器将广告的 468×60 图文件送到处理广告的服务器中,相信是件很舒服的事,不用再开 FTP 程序,搞大半天只为了 upload。
这个问题,是所有 Web CGI 程序的痛,包括 ASP、Prel….等等,都需要再经过系统元件的增加才能达成。号称最强的 Web CGI 程序: PHP,在这方面的表现没有令人失望,甚至傲视其它的 CGI 工具。
File Upload 功能在 RFC 1867 文件有有详细的说明,是利用特殊的文件格式 (content-type) multipart/form-data。值得注意的是浏览器一定要用 Netscape 3.0 以上或 MS Internet Explorer 4.0 以上的版本才能将文件上传。
先看下面的 HTML 源代码
<form enctype=”multipart/form-data” action=”next.php” method=post>
您的大名: <input type=text name=user><br>
文件名称: <input name=”myfile” type=”file”><br>
<input type=”submit” value=”送出”>
</form>
在 form 的标签中,要加入 enctype=”multipart/form-data” 的字符串,表示用户输入的资料上有文件上传,同时 method 一定要用 POST 而不能用 GET。
在上面的码中,若用户姓名填入 Wilson Peng,并选 c:\myphoto.gif 的文件,在用户按下送出键后,浏览器则传送出下面的 POST 资料。
Content-type: multipart/form-data, boundary=AaB03x
–AaB03x
content-disposition: […]
Filed under: PHP 技术 学习 教程 | No Comments »
大部份的网站,都会考虑到和用户之间的互动关系。这时,用留言板的功能,可让用户留下到此一游,或者是一些和网站的互动信息。 在设计上,可以很简单的只留下用户的短篇留言,也可以设计到依性质分门别类很复杂的 Web BBS 系统。当然,要如何打造一个属于自己网站的留言板,就端赖网站的性质以及 Web 网站开发人员的巧思了。
在这里介绍的范例,是简单的列示所有留言的内容。供用户可以一次看到多笔留言的资料。系统的后端存放留言是用 Oracle 7.x 版的数据库系统。范例中的数据库 (database) 名称为 WWW,连接的用户帐号为 user38、密码为 iam3849。要直接使用本例,必须先执行下面的 SQL 指令,建立 guestbook 的资料表格。
CREATE TABLE guestbook (
serial varchar2(255) not null,
ref varchar2(255) null,
id char(8) […]
Filed under: PHP 技术 学习 教程 | No Comments »