- PHP 教程
- PHP 简介
- PHP 安装
- PHP 语法
- PHP 变量
- PHP 5 echo/print 语句
- PHP EOF(heredoc) 使用说明
- PHP 5 数据类型
- PHP 5 常量
- PHP 字符串变量
- PHP 运算符
- PHP If…Else 语句
- PHP Switch 语句
- PHP 数组
- PHP 数组排序
- PHP 超级全局变量
- PHP While 循环
- PHP For 循环
- PHP 函数
- PHP魔术变量
- PHP 命名空间(namespace)
- PHP 表单
- PHP 表单验证
- PHP 表单 – 必需字段
- PHP 表单 – 验证邮件和URL
- PHP完整表单实例
- PHP $_GET 变量
- PHP $_POST 变量
- PHP 多维数组
- PHP date() 函数
- PHP include 和 require
- PHP 文件
- PHP 文件上传
- PHP Cookie
- PHP Session
- PHP 邮件
- PHP 安全 E-mail
- PHP 错误处理
- PHP 异常处理
- PHP 过滤器
- PHP 高级过滤器
- PHP JSON
- PHP 7 新特性
- PHP MySQL 简介
- PHP 连接 MySQL
- PHP MySQL 创建数据库
- PHP MySQL 创建表
- PHP MySQL 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- PHP MySQL 读取数据
- PHP MySQL Where 子句
- PHP MySQL Order By 关键词
- PHP MySQL Update
- PHP MySQL Delete
- PHP 数据库 ODBC
- PHP XML Expat 解析器
- PHP XML DOM
- PHP XML SimpleXML
- AJAX 简介
- PHP – AJAX 与 PHP
- PHP 实例 AJAX 与 MySQL
- PHP 实例 AJAX 与 XML
- PHP 实例 AJAX 实时搜索
- PHP 实例 AJAX RSS 阅读器
- PHP 实例 AJAX 投票
- PHP 5 Array 函数
- PHP 5 Calendar 函数
- PHP cURL 函数
- PHP 5 Date/Time 函数
- PHP 5 Directory 函数
- PHP Error 和 Logging 函数
- PHP 5 Filesystem 函数
- PHP Filter 函数
- PHP FTP 函数
- PHP HTTP 函数
- PHP Libxml 函数
- PHP Mail 函数
- PHP 5 Math 函数
- PHP Misc. 函数
- PHP 5 MySQLi 函数
- PHP PDO
- PHP 5 SimpleXML 函数
- PHP 5 String 函数
- PHP XML 函数
- PHP Zip File 函数
- PHP 5 Timezones
- PHP 图像处理
- PHP RESTful
- PHP 正则表达式(PCRE)
- PHP 可用的函数
- PDOStatement::setFetchMode
- PHP preg_split() 函数
- PHP var_dump() 函数
- PHP asort() 函数
- PHP ksort() 函数
- PHP arsort() 函数
- PHP krsort() 函数
- PHP array_replace_recursive() 函数
- PHP array_column() 函数
- PHP curl_version函数
- PHP date() 函数
- PHP imagecolortransparent – 将某个颜色定义为透明色
- PHP 7 移除的 SAPI
- PHP 标量类型与返回值类型声明
- PHP NULL 合并运算符
- PHP 太空船运算符(组合比较符)
- PHP 常量数组
- PHP 匿名类
- PHP Closure::call()
- PHP 过滤 unserialize()
- PHP IntlChar()
- PHP CSPRNG
- PHP 7 异常
- PHP 7 use 语句
- PHP 7 错误处理
- PHP intdiv() 函数
- PHP 7 Session 选项
- PHP 7 废弃特性
- PHP 7 移除的扩展
- PHP parse_ini_file() 函数
- PHP mysqli_connect_errno() 函数
- PHP array() 函数
- PHP array_change_key_case() 函数
- PHP array_chunk() 函数
- PHP array_combine() 函数
- PHP array_count_values() 函数
- PHP array_diff() 函数
- PHP array_diff_assoc() 函数
- PHP array_diff_key() 函数
- PHP array_diff_uassoc() 函数
- PHP array_diff_ukey() 函数
- PHP array_fill() 函数
- PHP array_fill_keys() 函数
- PHP array_filter() 函数
- PHP array_flip() 函数
- PHP array_intersect() 函数
- PHP array_intersect_assoc() 函数
- PHP array_intersect_key() 函数
- PHP array_intersect_uassoc() 函数
- PHP array_intersect_ukey() 函数
- PHP array_key_exists() 函数
- PHP array_keys() 函数
- PHP array_map() 函数
- PHP array_merge() 函数
- PHP array_merge_recursive() 函数
- PHP array_multisort() 函数
- PHP array_pad() 函数
- PHP array_pop() 函数
- PHP array_product() 函数
- PHP array_push() 函数
- PHP array_rand() 函数
- PHP array_reduce() 函数
- PHP array_replace() 函数
- PHP array_reverse() 函数
- PHP array_search() 函数
- PHP array_shift() 函数
- PHP array_slice() 函数
- PHP array_splice() 函数
- PHP array_sum() 函数
- PHP array_udiff() 函数
- PHP array_udiff_assoc() 函数
- PHP array_udiff_uassoc() 函数
- PHP array_uintersect() 函数
- PHP array_uintersect_assoc() 函数
- PHP array_uintersect_uassoc() 函数
- PHP array_unique() 函数
- PHP array_unshift() 函数
- PHP array_values() 函数
- PHP array_walk() 函数
- PHP array_walk_recursive() 函数
- PHP compact() 函数
- PHP count() 函数
- PHP current() 函数
- PHP each() 函数
- PHP end() 函数
- PHP extract() 函数
- PHP in_array() 函数
- PHP key() 函数
- PHP list() 函数
- PHP natcasesort() 函数
- PHP natsort() 函数
- PHP next() 函数
- PHP pos() 函数
- PHP prev() 函数
- PHP range() 函数
- PHP reset() 函数
- PHP rsort() 函数
- PHP shuffle() 函数
- PHP sizeof() 函数
- PHP sort() 函数
- PHP uasort() 函数
- PHP uksort() 函数
- PHP usort() 函数
- PHP cal_days_in_month() 函数
- PHP cal_from_jd() 函数
- PHP cal_info() 函数
- PHP cal_to_jd() 函数
- PHP easter_date() 函数
- PHP easter_days() 函数
- PHP frenchtojd() 函数
- PHP gregoriantojd() 函数
- PHP jddayofweek() 函数
- PHP jdmonthname() 函数
- PHP jdtofrench() 函数
- PHP jdtogregorian() 函数
- PHP jdtojewish() 函数
- PHP jdtojulian() 函数
- PHP jdtounix() 函数
- PHP jewishtojd() 函数
- PHP juliantojd() 函数
- PHP unixtojd() 函数
- PHP curl_init函数
- PHP curl_multi_add_handle函数
- PHP curl_close函数
- PHP curl_copy_handle函数
- PHP curl_errno函数
- PHP curl_error函数
- PHP curl_escape函数
- PHP curl_exec函数
- PHP curl_file_create函数
- PHP curl_getinfo函数
- PHP curl_multi_close函数
- PHP curl_multi_exec函数
- PHP curl_multi_getcontent函数
- PHP curl_multi_info_read函数
- PHP curl_multi_init函数
- PHP curl_multi_remove_handle函数
- PHP curl_multi_select函数
- PHP curl_multi_setopt函数
- PHP curl_multi_strerror函数
- PHP curl_pause函数
- PHP curl_reset函数
- PHP curl_setopt_array函数
- PHP curl_setopt函数
- PHP curl_share_close函数
- PHP curl_share_init函数
- PHP curl_share_setopt函数
- PHP curl_strerror函数
- PHP curl_unescape函数
- PHP checkdate() 函数
- PHP date_add() 函数
- PHP date_create_from_format() 函数
- PHP date_create() 函数
- PHP date_date_set() 函数
- PHP date_default_timezone_get() 函数
- PHP date_default_timezone_set() 函数
- PHP date_diff() 函数
- PHP date_format() 函数
- PHP date_get_last_errors() 函数
- PHP date_interval_format()/DateInterval::format() 函数
- PHP date_isodate_set() 函数
- PHP date_modify() 函数
- PHP date_offset_get() 函数
- PHP date_parse_from_format() 函数
- PHP date_parse() 函数
- PHP date_sub() 函数
- PHP date_sun_info() 函数
- PHP date_sunrise() 函数
- PHP date_sunset() 函数
- PHP date_time_set() 函数
- PHP date_timestamp_get() 函数
- PHP date_timestamp_set() 函数
- PHP date_timezone_get() 函数
- PHP date_timezone_set() 函数
- PHP getdate() 函数
- PHP gettimeofday() 函数
- PHP gmdate() 函数
- PHP gmmktime() 函数
- PHP gmstrftime() 函数
- PHP idate() 函数
- PHP localtime() 函数
- PHP microtime() 函数
- PHP mktime() 函数
- PHP strftime() 函数
- PHP strptime() 函数
- PHP strtotime() 函数
- PHP time() 函数
- PHP timezone_abbreviations_list() 函数
- PHP timezone_identifiers_list() 函数
- PHP timezone_location_get() 函数
- PHP timezone_name_from_abbr() 函数
- PHP timezone_name_get() 函数
- PHP timezone_offset_get() 函数
- PHP timezone_open() 函数
- PHP timezone_version_get() 函数
- PHP chdir() 函数
- PHP chroot() 函数
- PHP closedir() 函数
- PHP dir() 函数
- PHP getcwd() 函数
- PHP opendir() 函数
- PHP readdir() 函数
- PHP rewinddir() 函数
- PHP scandir() 函数
- PHP debug_backtrace() 函数
- PHP debug_print_backtrace() 函数
- PHP error_get_last() 函数
- PHP error_log() 函数
- PHP error_reporting() 函数
- PHP restore_error_handler() 函数
- PHP restore_exception_handler() 函数
- PHP set_error_handler() 函数
- PHP set_exception_handler() 函数
- PHP trigger_error() 函数
- PHP user_error() 函数
- PHP basename() 函数
- PHP chgrp() 函数
- PHP chmod() 函数
- PHP chown() 函数
- PHP clearstatcache() 函数
- PHP copy() 函数
- PHP dirname() 函数
- PHP disk_free_space() 函数
- PHP disk_total_space() 函数
- PHP diskfreespace() 函数
- PHP fclose() 函数
- PHP feof() 函数
- PHP fflush() 函数
- PHP fgetc() 函数
- PHP fgetcsv() 函数
- PHP fgets() 函数
- PHP fgetss() 函数
- PHP file() 函数
- PHP file_exists() 函数
- PHP file_get_contents() 函数
- PHP file_put_contents() 函数
- PHP fileatime() 函数
- PHP filectime() 函数
- PHP filegroup() 函数
- PHP fileinode() 函数
- PHP filemtime() 函数
- PHP fileowner() 函数
- PHP fileperms() 函数
- PHP filesize() 函数
- PHP filetype() 函数
- PHP flock() 函数
- PHP fnmatch() 函数
- PHP fopen() 函数
- PHP fpassthru() 函数
- PHP fputcsv() 函数
- PHP fputs() 函数
- PHP fread() 函数
- PHP fscanf() 函数
- PHP fseek() 函数
- PHP fstat() 函数
- PHP ftell() 函数
- PHP ftruncate() 函数
- PHP fwrite() 函数
- PHP glob() 函数
- PHP is_dir() 函数
- PHP is_executable() 函数
- PHP is_file() 函数
- PHP is_link() 函数
- PHP is_readable() 函数
- PHP is_uploaded_file() 函数
- PHP is_writable() 函数
- PHP is_writeable() 函数
- PHP link() 函数
- PHP linkinfo() 函数
- PHP lstat() 函数
- PHP mkdir() 函数
- PHP move_uploaded_file() 函数
- PHP pathinfo() 函数
- PHP pclose() 函数
- PHP popen() 函数
- PHP readfile() 函数
- PHP readlink() 函数
- PHP realpath() 函数
- PHP rename() 函数
- PHP rewind() 函数
- PHP rmdir() 函数
- PHP set_file_buffer() 函数
- PHP stat() 函数
- PHP symlink() 函数
- PHP tempnam() 函数
- PHP tmpfile() 函数
- PHP touch() 函数
- PHP umask() 函数
- PHP unlink() 函数
- PHP filter_has_var() 函数
- PHP filter_id() 函数
- PHP filter_input() 函数
- PHP filter_input_array() 函数
- PHP filter_list() 函数
- PHP filter_var_array() 函数
- PHP filter_var() 函数
- PHP FILTER_CALLBACK 过滤器
- PHP FILTER_SANITIZE_STRING 过滤器
- PHP FILTER_SANITIZE_STRIPPED 过滤器
- PHP FILTER_SANITIZE_ENCODED 过滤器
- PHP FILTER_SANITIZE_SPECIAL_CHARS 过滤器
- PHP FILTER_SANITIZE_EMAIL 过滤器
- PHP FILTER_SANITIZE_URL 过滤器
- PHP FILTER_SANITIZE_NUMBER_INT 过滤器
- PHP FILTER_SANITIZE_NUMBER_FLOAT 过滤器
- PHP FILTER_SANITIZE_MAGIC_QUOTES 过滤器
- PHP FILTER_UNSAFE_RAW 过滤器
- PHP FILTER_VALIDATE_INT 过滤器
- PHP FILTER_VALIDATE_BOOLEANT 过滤器
- PHP FILTER_VALIDATE_FLOAT 过滤器
- PHP FILTER_VALIDATE_REGEXP 过滤器
- PHP FILTER_VALIDATE_URL 过滤器
- PHP FILTER_VALIDATE_EMAIL 过滤器
- PHP FILTER_VALIDATE_IP 过滤器
- PHP ftp_alloc() 函数
- PHP ftp_cdup() 函数
- PHP ftp_chdir() 函数
- PHP ftp_chmod() 函数
- PHP ftp_close() 函数
- PHP ftp_connect() 函数
- PHP ftp_delete() 函数
- PHP ftp_exec() 函数
- PHP ftp_fget() 函数
- PHP ftp_fput() 函数
- PHP ftp_get_option() 函数
- PHP ftp_get() 函数
- PHP ftp_login() 函数
- PHP ftp_mdtm() 函数
- PHP ftp_mkdir() 函数
- PHP ftp_nb_continue() 函数
- PHP ftp_nb_fget() 函数
- PHP ftp_nb_fput() 函数
- PHP ftp_nb_get() 函数
- PHP ftp_nb_put() 函数
- PHP ftp_nlist() 函数
- PHP ftp_pasv() 函数
- PHP ftp_put() 函数
- PHP ftp_pwd() 函数
- PHP ftp_quit() 函数
- PHP ftp_raw() 函数
- PHP ftp_rawlist() 函数
- PHP ftp_rename() 函数
- PHP ftp_rmdir() 函数
- PHP ftp_set_option() 函数
- PHP ftp_site() 函数
- PHP ftp_size() 函数
- PHP ftp_ssl_connect() 函数
- PHP ftp_systype() 函数
- PHP header() 函数
- PHP headers_list() 函数
- PHP headers_sent() 函数
- PHP setcookie() 函数
- PHP setrawcookie() 函数
- PHP libxml_clear_errors() 函数
- PHP libxml_get_errors() 函数
- PHP libxml_get_last_error() 函数
- PHP libxml_use_internal_errors() 函数
- PHP mail() 函数
- PHP abs() 函数
- PHP acos() 函数
- PHP acosh() 函数
- PHP asin() 函数
- PHP asinh() 函数
- PHP atan() 函数
- PHP atan2() 函数
- PHP atanh() 函数
- PHP base_convert() 函数
- PHP bindec() 函数
- PHP ceil() 函数
- PHP cos() 函数
- PHP cosh() 函数
- PHP decbin() 函数
- PHP dechex() 函数
- PHP decoct() 函数
- PHP deg2rad() 函数
- PHP exp() 函数
- PHP expm1() 函数
- PHP floor() 函数
- PHP fmod() 函数
- PHP getrandmax() 函数
- PHP hexdec() 函数
- PHP hypot() 函数
- PHP is_finite() 函数
- PHP is_infinite() 函数
- PHP is_nan() 函数
- PHP lcg_value() 函数
- PHP log() 函数
- PHP log10() 函数
- PHP log1p() 函数
- PHP max() 函数
- PHP min() 函数
- PHP mt_getrandmax() 函数
- PHP mt_rand() 函数
- PHP mt_srand() 函数
- PHP octdec() 函数
- PHP pi() 函数
- PHP pow() 函数
- PHP rad2deg() 函数
- PHP rand() 函数
- PHP round() 函数
- PHP sin() 函数
- PHP sinh() 函数
- PHP sqrt() 函数
- PHP srand() 函数
- PHP tan() 函数
- PHP tanh() 函数
- PHP connection_aborted() 函数
- PHP connection_status() 函数
- PHP constant() 函数
- PHP define() 函数
- PHP defined() 函数
- PHP die() 函数
- PHP eval() 函数
- PHP exit() 函数
- PHP get_browser() 函数
- PHP highlight_file() 函数
- PHP highlight_string() 函数
- PHP ignore_user_abort() 函数
- PHP pack() 函数
- PHP strip_whitespace() 函数
- PHP show_source() 函数
- PHP sleep() 函数
- PHP time_nanosleep() 函数
- PHP time_sleep_until() 函数
- PHP uniqid() 函数
- PHP unpack() 函数
- PHP usleep() 函数
- PHP mysqli_affected_rows() 函数
- PHP mysqli_autocommit() 函数
- PHP mysqli_change_user() 函数
- PHP mysqli_character_set_name() 函数
- PHP mysqli_close() 函数
- PHP mysqli_commit() 函数
- PHP mysqli_connect_error() 函数
- PHP mysqli_connect() 函数
- PHP mysqli_data_seek() 函数
- PHP mysqli_debug() 函数
- PHP mysqli_dump_debug_info() 函数
- PHP mysqli_errno() 函数
- PHP mysqli_error_list() 函数
- PHP mysqli_error() 函数
- PHP mysqli_fetch_all() 函数
- PHP mysqli_fetch_array() 函数
- PHP mysqli_fetch_assoc() 函数
- PHP mysqli_fetch_field_direct() 函数
- PHP mysqli_fetch_field() 函数
- PHP mysqli_fetch_fields() 函数
- PHP mysqli_fetch_lengths() 函数
- PHP mysqli_fetch_object() 函数
- PHP mysqli_fetch_row() 函数
- PHP mysqli_field_count() 函数
- PHP mysqli_field_seek() 函数
- PHP mysqli_field_tell() 函数
- PHP mysqli_free_result() 函数
- PHP mysqli_get_charset() 函数
- PHP mysqli_get_client_info() 函数
- PHP mysqli_get_client_stats() 函数
- PHP mysqli_get_client_version() 函数
- PHP mysqli_get_connection_stats() 函数
- PHP mysqli_get_host_info() 函数
- PHP mysqli_get_proto_info() 函数
- PHP mysqli_get_server_info() 函数
- PHP mysqli_get_server_version() 函数
- PHP mysqli_info() 函数
- PHP mysqli_init() 函数
- PHP mysqli_insert_id() 函数
- PHP mysqli_kill() 函数
- PHP mysqli_more_results() 函数
- PHP mysqli_multi_query() 函数
- PHP mysqli_next_result() 函数
- PHP mysqli_num_fields() 函数
- PHP mysqli_num_rows() 函数
- PHP mysqli_options() 函数
- PHP mysqli_ping() 函数
- PHP mysqli_query() 函数
- PHP mysqli_real_connect() 函数
- PHP mysqli_real_escape_string() 函数
- PHP mysqli_refresh() 函数
- PHP mysqli_rollback() 函数
- PHP mysqli_select_db() 函数
- PHP mysqli_set_charset() 函数
- PHP mysqli_sqlstate() 函数
- PHP mysqli_ssl_set() 函数
- PHP mysqli_stat() 函数
- PHP mysqli_stmt_init() 函数
- PHP mysqli_thread_id() 函数
- PHP mysqli_thread_safe() 函数
- PHP PDO预定义常量
- PHP PDO连接连接管理
- PHP PDO 事务与自动提交
- PHP PDO 预处理语句与存储过程
- PHP PDO 错误与错误处理
- PHP PDO 大对象 (LOBs)
- PDO::beginTransaction
- PDO::commit
- PDO::__construct
- PDO::errorCode
- PDO::errorInfo
- PDO::exec
- PDO::getAttribute
- PDO::getAvailableDrivers
- PDO::inTransaction
- PDO::lastInsertId
- PDO::prepare
- PDO::query
- PDO::quote
- PDO::rollBack
- PDO::setAttribute
- PDOStatement::bindColumn
- PDOStatement::bindParam
- PDOStatement::bindValue
- PDOStatement::closeCursor
- PDOStatement::columnCount
- PDOStatement::debugDumpParams
- PDOStatement::errorCode
- PDOStatement::errorInfo
- PDOStatement::execute
- PDOStatement::fetch
- PDOStatement::fetchAll
- PDOStatement::fetchColumn
- PDOStatement::fetchObject
- PDOStatement::getAttribute
- PDOStatement::getColumnMeta
- PDOStatement::nextRowset
- PDOStatement::rowCount
- PDOStatement::setAttribute
- PHP __construct() 函数
- PHP addAttribute() 函数
- PHP addChild() 函数
- PHP asXML() 函数
- PHP attributes() 函数
- PHP children() 函数
- PHP count() 函数
- PHP getDocNamespaces() 函数
- PHP getName() 函数
- PHP getNamespaces() 函数
- PHP registerXPathNamespace() 函数
- PHP simplexml_import_dom() 函数
- PHP simplexml_load_file() 函数
- PHP simplexml_load_string() 函数
- PHP xpath() 函数
- PHP addcslashes() 函数
- PHP addslashes() 函数
- PHP bin2hex() 函数
- PHP chop() 函数
- PHP chr() 函数
- PHP chunk_split() 函数
- PHP convert_cyr_string() 函数
- PHP convert_uudecode() 函数
- PHP convert_uuencode() 函数
- PHP count_chars() 函数
- PHP crc32() 函数
- PHP crypt() 函数
- PHP echo() 函数
- PHP explode() 函数
- PHP fprintf() 函数
- PHP get_html_translation_table() 函数
- PHP hebrev() 函数
- PHP hebrevc() 函数
- PHP hex2bin() 函数
- PHP html_entity_decode() 函数
- PHP htmlentities() 函数
- PHP htmlspecialchars_decode() 函数
- PHP htmlspecialchars() 函数
- PHP implode() 函数
- PHP join() 函数
- PHP lcfirst() 函数
- PHP levenshtein() 函数
- PHP localeconv() 函数
- PHP ltrim() 函数
- PHP md5() 函数
- PHP md5_file() 函数
- PHP metaphone() 函数
- PHP money_format() 函数
- PHP nl_langinfo() 函数
- PHP nl2br() 函数
- PHP number_format() 函数
- PHP ord() 函数
- PHP parse_str() 函数
- PHP print() 函数
- PHP printf() 函数
- PHP quoted_printable_decode() 函数
- PHP quoted_printable_encode() 函数
- PHP quotemeta() 函数
- PHP rtrim() 函数
- PHP setlocale() 函数
- PHP sha1() 函数
- PHP sha1_file() 函数
- PHP similar_text() 函数
- PHP soundex() 函数
- PHP sprintf() 函数
- PHP sscanf() 函数
- PHP str_getcsv() 函数
- PHP str_ireplace() 函数
- PHP str_pad() 函数
- PHP str_repeat() 函数
- PHP str_replace() 函数
- PHP str_rot13() 函数
- PHP str_shuffle() 函数
- PHP str_split() 函数
- PHP str_word_count() 函数
- PHP strcasecmp() 函数
- PHP strchr() 函数
- PHP strcmp() 函数
- PHP strcoll() 函数
- PHP strcspn() 函数
- PHP strip_tags() 函数
- PHP stripcslashes() 函数
- PHP stripslashes() 函数
- PHP stripos() 函数
- PHP stristr() 函数
- PHP strlen() 函数
- PHP strnatcasecmp() 函数
- PHP strnatcmp() 函数
- PHP strncasecmp() 函数
- PHP strncmp() 函数
- PHP strpbrk() 函数
- PHP strpos() 函数
- PHP strrchr() 函数
- PHP strrev() 函数
- PHP strripos() 函数
- PHP strrpos() 函数
- PHP strspn() 函数
- PHP strstr() 函数
- PHP strtok() 函数
- PHP strtolower() 函数
- PHP strtoupper() 函数
- PHP strtr() 函数
- PHP substr() 函数
- PHP substr_compare() 函数
- PHP substr_count() 函数
- PHP substr_replace() 函数
- PHP trim() 函数
- PHP ucfirst() 函数
- PHP ucwords() 函数
- PHP vfprintf() 函数
- PHP vprintf() 函数
- PHP vsprintf() 函数
- PHP wordwrap() 函数
- PHP utf8_decode() 函数
- PHP utf8_encode() 函数
- PHP xml_error_string() 函数
- PHP xml_get_current_byte_index() 函数
- PHP xml_get_current_column_number() 函数
- PHP xml_get_current_line_number() 函数
- PHP xml_get_error_code() 函数
- PHP xml_parse() 函数
- PHP xml_parse_into_struct() 函数
- PHP xml_parser_create_ns() 函数
- PHP xml_parser_create() 函数
- PHP xml_parser_free() 函数
- PHP xml_parser_get_option() 函数
- PHP xml_parser_set_option() 函数
- PHP xml_set_character_data_handler() 函数
- PHP xml_set_default_handler() 函数
- PHP xml_set_element_handler() 函数
- PHP xml_set_external_entity_ref_handler() 函数
- PHP xml_set_notation_decl_handler() 函数
- PHP xml_set_object() 函数
- PHP xml_set_processing_instruction_handler() 函数
- PHP xml_set_unparsed_entity_decl_handler() 函数
- PHP zip_close() 函数
- PHP zip_entry_close() 函数
- PHP zip_entry_compressedsize() 函数
- PHP zip_entry_compressionmethod() 函数
- PHP zip_entry_filesize() 函数
- PHP zip_entry_name() 函数
- PHP zip_entry_open() 函数
- PHP zip_entry_read() 函数
- PHP zip_open() 函数
- PHP zip_read() 函数
- php getimagesize 函数 – 获取图像信息
- PHP gd_info – 取得当前安装的 GD 库的信息
- PHP getimagesizefromstring – 获取图片信息函数
- PHP image_type_to_extension – 获取图片后缀
- PHP image2wbmp – 输出WBMP图片
- PHP imageaffine – 返回经过仿射变换后的图像
- PHP imageaffinematrixconcat – 连接两个矩阵
- PHP imageaffinematrixget – 获取矩阵
- PHP imagealphablending – 设定图像的混色模式
- PHP imageantialias – 是否使用抗锯齿(antialias)功能
- PHP imagearc – 画椭圆弧
- PHP imagechar – 写出横向字符
- PHP imagecharup – 垂直地画一个字符
- PHP imagecolorallocate – 为一幅图像分配颜色
- PHP imagecolorallocatealpha – 为一幅图像分配颜色和透明度
- PHP imagecolorat – 取得某像素的颜色索引值
- PHP imagecolorclosest – 取得与指定的颜色最接近的颜色的索引值
- PHP imagecolorclosestalpha – 取得与指定的颜色加透明度最接近的颜色的索引
- PHP imagecolorclosesthwb – 取得与指定的颜色最接近的色度的黑白色的索引
- PHP imagesx()、imagesy() – 获取图像宽度与高度
- PHP preg_filter() 函数
- PHP preg_grep() 函数
- PHP preg_last_error() 函数
- PHP preg_match_all() 函数
- PHP preg_match() 函数
- PHP preg_quote() 函数
- PHP preg_replace_callback_array() 函数
- PHP preg_replace_callback() 函数
- PHP preg_replace() 函数
- PHP boolval() 函数
- PHP debug_zval_dump() 函数
- PHP floatval()、doubleval () 函数
- PHP empty() 函数
- PHP get_defined_vars() 函数
- PHP get_resource_type() 函数
- PHP gettype() 函数
- PHP import_request_variables() 函数
- PHP intval() 函数
- PHP is_array() 函数
- PHP is_bool() 函数
- PHP is_callable() 函数
- PHP is_float()、 is_double()、is_real()函数
- PHP is_int() 、is_integer()、is_long() 函数
- PHP is_iterable() 函数
- PHP is_null() 函数
- PHP is_numeric() 函数
- PHP is_object() 函数
- PHP is_resource() 函数
- PHP is_scalar() 函数
- PHP is_string() 函数
- PHP isset() 函数
- PHP print_r() 函数
- PHP serialize() 函数
- PHP settype() 函数
- PHP strval() 函数
- PHP unserialize() 函数
- PHP unset() 函数
- PHP var_export() 函数
- PHP 命名空间(namespace)
- PHP MySQL 创建表
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- PHP PDO
- PHP 5 Array 函数
- PHP 5 Calendar 函数
- PHP cURL 函数
- PHP 5 Date/Time 函数
- PHP 5 Directory 函数
- PHP Error 和 Logging 函数
- PHP 5 Filesystem 函数
- PHP Filter 函数
- PHP FTP 函数
- PHP HTTP 函数
- PHP Libxml 函数
- PHP Mail 函数
- PHP 5 Math 函数
- PHP Misc. 函数
- PHP 5 MySQLi 函数
- PHP 5 SimpleXML 函数
- PHP 5 String 函数
- PHP XML 函数
- PHP Zip File 函数
- PHP 面向对象
PHP RESTful
REST(英文:Representational State Transfer,简称REST) ,指的是一组架构约束条件和原则。
符合REST设计风格的Web API称为RESTful API。它从以下三个方面资源进行定义:
- 直观简短的资源地址:URI,比如:
http://example.com/resources/
。 - 传输的资源:Web服务接受与返回的互联网媒体类型,比如:JSON,XML,YAM等。
- 对资源的操作:Web服务在该资源上所支持的一系列请求方法(比如:POST,GET,PUT或DELETE)。
本教程我们将使用 PHP(不用框架) 来创建一个 RESTful web service,在文章末尾你可以下载本章节使用到的代码。
通过本教程你将学习到以下内容:
- 创建一个 RESTful Webservice。
- 使用原生 PHP, 不依赖任何框架。
- URI 模式需要遵循 REST 规则。
- RESTful service 接受与返回的格式可以是 JSON, XML等。
- 根据不同情况响应对应的 HTTP 状态码。
- 演示请求头的使用。
- 使用 REST 客户端来测试 RESTful web service。
RESTful Webservice 实例
以下代码是 RESTful 服务类 Site.php:
<?php /* * 本站 RESTful 演示实例 * RESTful 服务类 */ Class Site { private $sites = array( 1 => 'TaoBao', 2 => 'Google', 3 => 'Runoob', 4 => 'Baidu', 5 => 'Weibo', 6 => 'Sina' ); public function getAllSite(){ return $this->sites; } public function getSite($id){ $site = array($id => ($this->sites[$id]) ? $this->sites[$id] : $this->sites[1]); return $site; } } ?>RESTful Services URI 映射
RESTful Services URI 应该设置为一个直观简短的资源地址。Apache 服务器的 .htaccess 应设置好对应的 Rewrite 规则。
本实例我们将使用两个 URI 规则:
1、获取所有站点列表:
http://localhost/restexample/site/list/
2、使用 id 获取指定的站点,以下 URI 为获取 id 为 3 的站点:
http://localhost/restexample/site/list/3/
项目的 .htaccess 文件配置规则如下所示:
# 开启 rewrite 功能 Options +FollowSymlinks RewriteEngine on # 重写规则 RewriteRule ^site/list/$ RestController.php?view=all [nc,qsa] RewriteRule ^site/list/([0-9]+)/$ RestController.php?view=single&id=$1 [nc,qsa]
RESTful Web Service 控制器
在 .htaccess 文件中,我们通过设置参数 'view' 来获取 RestController.php 文件中对应的请求,通过获取 'view' 不同的参数来分发到不同的方法上。RestController.php 文件代码如下:
<?php require_once("SiteRestHandler.php"); $view = ""; if(isset($_GET["view"])) $view = $_GET["view"]; /* * RESTful service 控制器 * URL 映射 */ switch($view){ case "all": // 处理 REST Url /site/list/ $siteRestHandler = new SiteRestHandler(); $siteRestHandler->getAllSites(); break; case "single": // 处理 REST Url /site/show/<id>/ $siteRestHandler = new SiteRestHandler(); $siteRestHandler->getSite($_GET["id"]); break; case "" : //404 - not found; break; } ?>简单的 RESTful 基础类
以下提供了 RESTful 的一个基类,用于处理响应请求的 HTTP 状态码,SimpleRest.php 文件代码如下:
<?php /* * 一个简单的 RESTful web services 基类 * 我们可以基于这个类来扩展需求 */ class SimpleRest { private $httpVersion = "HTTP/1.1"; public function setHttpHeaders($contentType, $statusCode){ $statusMessage = $this -> getHttpStatusMessage($statusCode); header($this->httpVersion. " ". $statusCode ." ". $statusMessage); header("Content-Type:". $contentType); } public function getHttpStatusMessage($statusCode){ $httpStatus = array( 100 => 'Continue', 101 => 'Switching Protocols', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 306 => '(Unused)', 307 => 'Temporary Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Timeout', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Long', 415 => 'Unsupported Media Type', 416 => 'Requested Range Not Satisfiable', 417 => 'Expectation Failed', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout', 505 => 'HTTP Version Not Supported'); return ($httpStatus[$statusCode]) ? $httpStatus[$statusCode] : $status[500]; } } ?>RESTful Web Service 处理类
以下是一个 RESTful Web Service 处理类 SiteRestHandler.php,继承了上面我们提供的 RESTful 基类,类中通过判断请求的参数来决定返回的 HTTP 状态码及数据格式,实例中我们提供了三种数据格式: "application/json" 、 "application/xml" 或 "text/html":
SiteRestHandler.php 文件代码如下:
<?php require_once("SimpleRest.php"); require_once("Site.php"); class SiteRestHandler extends SimpleRest { function getAllSites() { $site = new Site(); $rawData = $site->getAllSite(); if(empty($rawData)) { $statusCode = 404; $rawData = array('error' => 'No sites found!'); } else { $statusCode = 200; } $requestContentType = $_SERVER['HTTP_ACCEPT']; $this ->setHttpHeaders($requestContentType, $statusCode); if(strpos($requestContentType,'application/json') !== false){ $response = $this->encodeJson($rawData); echo $response; } else if(strpos($requestContentType,'text/html') !== false){ $response = $this->encodeHtml($rawData); echo $response; } else if(strpos($requestContentType,'application/xml') !== false){ $response = $this->encodeXml($rawData); echo $response; } } public function encodeHtml($responseData) { $htmlResponse = "<table border='1'>"; foreach($responseData as $key=>$value) { $htmlResponse .= "<tr><td>". $key. "</td><td>". $value. "</td></tr>"; } $htmlResponse .= "</table>"; return $htmlResponse; } public function encodeJson($responseData) { $jsonResponse = json_encode($responseData); return $jsonResponse; } public function encodeXml($responseData) { // 创建 SimpleXMLElement 对象 $xml = new SimpleXMLElement('<?xml version="1.0"?><site></site>'); foreach($responseData as $key=>$value) { $xml->addChild($key, $value); } return $xml->asXML(); } public function getSite($id) { $site = new Site(); $rawData = $site->getSite($id); if(empty($rawData)) { $statusCode = 404; $rawData = array('error' => 'No sites found!'); } else { $statusCode = 200; } $requestContentType = $_SERVER['HTTP_ACCEPT']; $this ->setHttpHeaders($requestContentType, $statusCode); if(strpos($requestContentType,'application/json') !== false){ $response = $this->encodeJson($rawData); echo $response; } else if(strpos($requestContentType,'text/html') !== false){ $response = $this->encodeHtml($rawData); echo $response; } else if(strpos($requestContentType,'application/xml') !== false){ $response = $this->encodeXml($rawData); echo $response; } } } ?>接下来我们通过 http://localhost/restexample/site/list/ 访问,输出结果如下:
RESTful Web Service 客户端
接下来我们可以使用 Google Chrome 浏览器的 "Advance Rest Client" 作为 RESTful Web Service 客户端来请求我们的服务。
实例中请求 http://localhost/restexample/site/list/ 地址,接收数据类似为 Accept: application/json
请求 id 为 3 的站点 Runoob(本站),访问地址为 http://localhost/restexample/site/list/3/,
源码下载
实例中使用到的代码可点击以下按钮下载:
源码下载
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论