转载请标明出处:http://blog.youkuaiyun.com/jiangsq12345
前言
由于PHP包含非常多的实用函数,如果能合理利用必将减少很多编程负担,因此本文的目的在于记录初学PHP时遇到的常用函数(示例),便于日后查找。
以下所有函数均来自W3school,读者也可前往该网站自行查找所需函数介绍:http://www.w3school.com.cn/php。
正文
- 日期——Date()函数
<?php
echo date("Y/m/d");
echo "<br />";
echo date("Y.m.d");
echo "<br />";
echo date("Y-m-d");
?>
<?php
$tomorrow = mktime(0,0,0,date("m"),date("d")+1,date("Y"));
echo "明天是 ".date("Y/m/d", $tomorrow);
?>
-
服务器端引用(Server Side Includes)
-
打开文件
fopen() 函数用于在 PHP 中打开文件。
$file=fopen("welcome.txt","rwx");
模式 | 描述 |
---|---|
r | 只读。在文件的开头开始。 |
r+ | 读/写。在文件的开头开始。 |
w | 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 |
w+ | 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。 |
a | 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。 |
a+ | 读/追加。通过向文件末端写内容,来保持文件内容。 |
x | 只写。创建新文件。如果文件已存在,则返回 FALSE。 |
x+ | 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。 |
-
关闭文件
fclose() 函数用于关闭打开的文件。
-
检测 End-of-file
feof() 函数检测是否已达到文件的末端 (EOF)。
if (feof($file)) echo "End of file";
-
逐行读取文件
fgets() 函数用于从文件中逐行读取文件。
注释:在调用该函数之后,文件指针会移动到下一行<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>
-
逐字符读取文件
fgetc() 函数用于从文件逐字符地读取文件。
-
创建 cookie
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 <html> 标签之前。
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>
-
取回 Cookie 的值
<?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?>
-
删除 cookie
当删除 cookie 时,您应当使过期日期变更为过去的时间点
<?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?>
-
PHP Session 变量
在您把用户信息存储到 PHP session 中之前,首先必须启动会话。
注释:session_start() 函数必须位于 <html> 标签之前:
<?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; echo "Views=". $_SESSION['views']; ?>
-
终结 Session
unset() 函数用于释放指定的 session 变量.您也可以通过 session_destroy() 函数彻底终结 session 注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。 <?php unset($_SESSION['views']); ?> 或者 <?php session_destroy(); ?>
-
基本的错误处理:使用 die() 函数
<?php if(!file_exists("welcome.txt")) { die("File not found"); } else { $file=fopen("welcome.txt","r"); } ?>
它采用了一个简单的错误处理机制在错误之后终止了脚本。不过,简单地终止脚本并不总是恰当的方式。可以使用以下三中方式(具体参考w3shool)
-
error_function(error_level,error_message,error_file,error_line,error_context)
-
set_error_handler("customError");
<?php //error handler function function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr"; } //set error handler set_error_handler("customError"); //trigger error echo($test); ?>
- trigger_error()
<?php $test=2; if ($test>1) { trigger_error("Value must be 1 or below"); } ?>
- MySql 数据库操作
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con);
mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Glenn', 'Quagmire', '33')");// Create table in my_db database mysql_select_db("my_db", $con); $sql = "CREATE TABLE Persons ( FirstName varchar(15), LastName varchar(15), Age int )"; mysql_query($sql,$con);
$result = mysql_query("SELECT * FROM Persons"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; }
- PHP的DOM 解析
<?php $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); print $xmlDoc->saveXML(); ?>
-
PHP的XML 解析器
mysql_close($con);?>
<?php //Initialize the XML parser $parser=xml_parser_create(); //Function to use at the start of an element function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- Note --<br />"; break; case "TO": echo "To: "; break; case "FROM": echo "From: "; break; case "HEADING": echo "Heading: "; break; case "BODY": echo "Message: "; } } //Function to use at the end of an element function stop($parser,$element_name) { echo "<br />"; } //Function to use when finding character data function char($parser,$data) { echo $data; } //Specify element handler xml_set_element_handler($parser,"start","stop"); //Specify data handler xml_set_character_data_handler($parser,"char"); //Open XML file $fp=fopen("test.xml","r"); //Read data while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } //Free the XML parser xml_parser_free($parser); ?>
- 通过 xml_parser_create() 函数初始化 XML 解析器
- 创建配合不同事件处理程序的的函数
- 添加 xml_set_element_handler() 函数来定义,当解析器遇到开始和结束标签时执行哪个函数
- 添加 xml_set_character_data_handler() 函数来定义,当解析器遇到字符数据时执行哪个函数
- 通过 xml_parse() 函数来解析文件 "test.xml"
- 万一有错误的话,添加 xml_error_string() 函数把 XML 错误转换为文本说明
- 调用 xml_parser_free() 函数来释放分配给 xml_parser_create() 函数的内存