17、htmlentities($_POST['$S'])将$S的内容中所有的特殊字符转换成HTML表示方式。
所有会引起浏览器进行特殊处理的字符在进行了转换后,就能确保显示出来的是原来录入的内容。
18、页面和代码分离的一种模板(分htm和php)
第一、php文件处理完所有的业务(control和model),查询结果一般放到数组,然后htm文件里面可以直接调用数组变量。
php文件末尾必须include_once(htm文件)!!
第二、htm文件只管显示(view),写代码时候,使用 print <<<EOT 与 EOT; 搭配, EOT;的前面一定不能留空格,必须顶格,切记切记。
例如:
第三、<!-- -->中,<?php ?>必须写在最前面和最后面。
例如:
19、数据库操作
//连接数据库
$link=@mysql_connect(host,usr,name) or die("erro message!!");
@mysql_close($link);
//选择数据库
$db=@mysql_select_db("db_name") or die("err:3");
//查询
$sql="select * from db";
$result=@mysql_query($sql) or die("erro message!!");
//显示查询结果集
$result=@mysql_query("SELECT id, name FROM mytable");
while ( $row = @mysql_fetch_array($result) )
{
printf ("ID: %s Name: %s", $row[0], $row["name"]);
}
//获取查询包含的记录总数
mysql_num_rows($result) 返回select语句查询结果的记录总数。
mysql_affected_rows() 返回insert,delete,update等sql语句更新的记录总数,注意此函数没有参数!!。
mysql_num_fields($query) 返回select语句查询结果的列(字段)总数。
//释放查询占用的内存
mysql_free_result($result)
//事务操作
//修改记录
mysql_array_rows($)和mysql_affected_rows()返回值必须>0才算操作成功,
mysql_affected_rows())返回值可能是-x负数,此时用if(mysql_affected_rows()))判断也是返回true!!!
20、javascrīpt学习:
(1)、获取表单的元素个数: form.elements.length
(2)、表单第(I-1)个元素的类型: form.elements[i].type="button"
(3)、表单元素的值:form.elements.value="";
(4)、复选框标记已经勾选:document.form.checkbox.checked=true
(5)、单选按钮:document.form.radio.checked
(6)、Select的索引值:document.form.select.selectIndex
(7)、select的属性:document.form.select.options[i].text;
document.form.select.options[i].value;
(8)、当前select的值:document.form.select.options[document.form.select.selectIndex].value;
21、数组
$arr=array(1,2,3,4,5);
foreach($arr as $i=>$value)
echo $arr[$i];
//打印数组详细内容 print_r($array)
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print_r ($a);
?>
count($arr) 返回数组$arr的列的数目。
//---文件操作---
<form enctype="multipart/form-data" action="" method="POST">
Send this file: <input name="myfile" type="file">
form必须有参数说明enctype="multipart/form-data"才能有文件上传功能。
设置了文件上传功能后,php自动建立了全局变量$_FILES;
$_FILES['myfile']['name'] 客户端机器文件的原名称。
$_FILES['myfile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
if( $_FILES['fl']['type']=='image/jpeg' ) 只能上传JPEG类型文件
$_FILES['myfile']['size'] 已上传文件的大小,单位为字节。(不可靠的数据)
判断上传文件大小 if(filesize($_FILES['attachment']['tmp_name'])>1024000) (这样判断才可靠)
$_FILES['myfile']['tmp_name'] 文件被上传后在服务端储存的临时文件名。
$_FILES['myfile']['error'] 和该文件上传相关的错误代码。
php文件上传时,windows系统下的文件路径必须是用来做转义表示,例如'c:windows'而不是'c:windows',;
php处理文件上传做法:文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,
如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。
所以在删除之前要将它复制到其它位置,此时,才算完成了我们的上传文件过程。
上传多个文件:有了上面的认识,同时上传多个文件也就不难做了。上传多个文件是从PHP3.0.10版本开始被支持。
要完成它,只需文件名以数组形式表示即可:
假如我们上传了两个文件:first.txt 和 second.gif。表单被提交后,
$_FILES["myFile"]["name"][0]、$_FILES["myFile"]["size"][0]分别指first.txt文件的名字和大小,
$_FILES["myFile"]["name"][1]、$_FILES["myFile"]["size"][1]分别指 second.gif 的文件名字和大小。
当然,$_FILES["myFile"]["tmp_name"]、$_FILES["myFile"]["type"]也同样会产生。
bool is_uploaded_file ( string filename )
说明:如果 filename 所给出的文件是通过 HTTP POST 上传的则返回 TRUE。这可以用来确保恶意的用户
无法欺骗脚本去访问本不能访问的文件,例如 /etc/passwd。这种检查显得格外重要,如果上传的文件有
可能会造成对用户或本系统的其他用户显示其内容的话。为了能使 is_uploaded_file() 函数正常工作,
必段指定类似于 $_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的
文件名 $_FILES['userfile']['name'] 不能正常运作。
遍历$mydir目录下的文件和文件夹: