PHP入门基础知识分享

发布时间:2020-06-19编辑:脚本学堂
分享一些php入门的基础知识,适合初学php的朋友参考,包括php数值类型、字符串操作与php应用实例,有需要的朋友参考下。
14、变量的引用,
    (condition)?action1:action2相当于if(condition) action1  else action2.
    funciton msg($j=0,$k=1,$l=3) 预定义参数值,如果参数不指定则用默认值,如果指定了就用指定值。

17、htmlentities($_POST['$S'])将$S的内容中所有的特殊字符转换成HTML表示方式。
所有会引起浏览器进行特殊处理的字符在进行了转换后,就能确保显示出来的是原来录入的内容。

18、页面和代码分离的一种模板(分htm和php)

第一、php文件处理完所有的业务(control和model),查询结果一般放到数组,然后htm文件里面可以直接调用数组变量。
php文件末尾必须include_once(htm文件)!!
 

复制代码 代码示例:
$query=mysql_query($sql);
while($rs=mysql_fetch_array($query))
{
  $catedb[]=$rs;
}

第二、htm文件只管显示(view),写代码时候,使用  print <<<EOT 与  EOT;  搭配,    EOT;的前面一定不能留空格,必须顶格,切记切记。
例如:
 

复制代码 代码示例:
<!--
if(!empty($catedb)) //$catedb是sql查询的结果集
{
 foreach($catedb as $key=>$value)
 {
  print <<<EOT
-->
<ul><li>
 <a href="admin.php?job=sort&do=editwin&id={$key}#分类编辑"><b>{$value['name']}</b></a>
 <span class="smalltxt"> - 显示顺序: <input type="text" name="{$value['sid']}" value="{$value['vieworder']}" size="1"> -
 <a href="admin.php?job=sort&do=editwin&id={$key}#分类编辑">[编辑]</a>
 <a href="admin.php?job=sort&do=del&id={$value['sid']}">[删除]</a>
 </span></li>
</ul>
<!--
EOT;(必须顶格)
 }
}
print <<<EOT
-->

第三、<!--  -->中,<?php ?>必须写在最前面和最后面。
例如:
 

复制代码 代码示例:
<!--
<?php
  print <<<EOT
-->
html代码
html代码
<!--
EOT;
  php代码
print <<<EOT 
-->
html代码
html代码
<!--
EOT;
?>
-->

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处理文件上传做法:文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,
如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。
所以在删除之前要将它复制到其它位置,此时,才算完成了我们的上传文件过程。
 

复制代码 代码示例:
<?php
$file=$_FILES['fl']['name'];
$tmp=$_FILES['fl']['tmp_name'];
if(move_uploaded_file($tmp,'c:apachehtdocs'.$file))
   echo 'upload file ok';
else
  echo 'upload file failse';

上传多个文件:有了上面的认识,同时上传多个文件也就不难做了。上传多个文件是从PHP3.0.10版本开始被支持。
要完成它,只需文件名以数组形式表示即可:
 

复制代码 代码示例:
<form action="file-upload.php" method="post" enctype="multipart/form-data">
  <input name="myFile[]" type="file"><br>
  <input name="myFile[]" type="file"><br>
  <input type="submit" value="上传多个文件">
</form>
 

假如我们上传了两个文件: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'] 不能正常运作。
 

复制代码 代码示例:
<?php
 
  $old_filename = $_FILES['attachment']['tmp_name'];//获得上传到服务器临时目录得文件的名称;
  $new_filename = '/path/to/'.$_FILES['attachment']['name'];
  if (move_uploaded_file($old_filename, $new_filename))//移动上传临时文件到制定目录
  {
    /* $old_filename is an uploaded file, and the move was successful. */
  }
?>
 

遍历$mydir目录下的文件和文件夹:
 

复制代码 代码示例:
if($dirhandle=opendir($mydir))
  while( false!==($fi=readdir($dirhandle)) )  
       echo $fi.'<br>';
closedir($dirhandle);