使用网络函数和协议函数

HTTP(部分)

获取其他web页面的数据 --- 函数同文件读取函数

天气数据接口API,json xml 等数据 http://blog.csdn.net/fancylovejava/article/details/26102635

header --- 发送原生HTTP 头

gethostbyaddr --- 获取指定的IP地址对应的主机名

gethostbyname --- Get the IPv4 address corresponding to a given Internet host name

getmxrr() / dns_get_mx()--- Get MX (Mail Exchange) records

checkdnsrr --- 给指定的主机(域名)或者IP地址做DNS通信检查

URL 函数(全)

urldecode --- 解码已编码的URL 字符串

urlencode --- 编码URL 字符串

get_headers --- 取得服务器响应一个HTTP 请求所发送的所有报头

parse_url --- 解析URL,返回其组成部分

parse /pɑːz $ pɑːrs/ v.对句子作语法分析

URL: http://nobody:secret@example.com:80/script.php?variable=value#anchor
Array (
    [scheme] => http
    [host] => example.com
    [port] => 80
    [user] => nobody
    [pass] => secret
    [path] => /script.php
    [query] => variable=value
    [fragment] => anchor )

base64_decode --- 对使用 MIME base64 编码的数据进行解码

base64_encode --- 使用 MIME base64 对数据进行编码

get_meta_tags --- 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组

http_build_query --- 生成 URL-encode 之后的请求字符串

rawurldecode --- 对已编码的 URL 字符串进行解码

rawurlencode --- 按照 RFC 3986 对 URL 进行编码

FTP(部分)

ftp_connect --- 建立一个新的 FTP 连接

ftp_login --- 登录 FTP 服务器

ftp_close --- 关闭一个 FTP 连接

ftp_fput --- 上传一个已经打开的文件到服务器

ftp_fget --- 从服务器上下载一个文件并保存到本地一个已经打开的文件中

ftp_put --- 上传文件到 FTP 服务器

ftp_get --- 从 FTP 服务器上下载一个文件

bool ftp_get ( resource $ftp_stream, $local_file, $remote_file, int $mode [,int $resumepos=0] )
// 传送模式只能为 (文本模式) FTP_ASCII 或 (二进制模式) FTP_BINARY 中的其中一个

ftp_nb_continue --- 继续获取/发送文件(非阻塞传输模式)

关于非阻塞的资料:http://www.ibm.com/developerworks/cn/linux/l-async/

ftp_nb_fget --- 从服务器获取文件并写入到一个打开的文件(非阻塞)

ftp_nb_fput --- 将文件存储到服务器(非阻塞)

ftp_nb_get --- 从服务器上获取文件并写入本地文件(non-blocking)

ftp_nb_put --- 存储一个文件至服务器(non-blocking)

ftp_delete --- 删除 FTP 服务器上的一个文件

ftp_size --- 返回指定文件的大小

ftp_chmod --- 设置 FTP 服务器上的文件权限

ftp_rename --- 更改 FTP 服务器上的文件或目录名

ftp_chdir --- 在 FTP 服务器上改变当前目录

ftp_cdup --- 切换到当前目录的父目录

ftp_mkdir --- 建立新目录

ftp_rmdir --- 删除 FTP 服务器上的一个目录

$remote_file = 'somefile.txt'; $local_file = 'localfile.txt';
$handle = fopen($local_file, 'w+');  // 打开本地文件准备读写
$conn_id = ftp_connect($ftp_server); // 建立连接
ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // 登录FTP
ftp_fput($conn_id, $remote_file, $handle, FTP_ASCII)); // 上传文件
ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)); // 下载文件
ftp_get($conn_id, $local_file, $server_file, FTP_BINARY); // 
ftp_delete($conn_id, $remote_file)); 
ftp_close($conn_id);  // 关闭FTP连接
fclose($handle);  // 关闭本地句柄

Mail

mail --- 发送一封电子邮件

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@e100.com' . "\r\n" . 'Reply-To: webmaster@e110.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);

测试了下,可以使用任意地址给对方发信件,想起了lemon的事件......不过被qq判定为垃圾邮件,现在外贸沟通也方便了,也许哪天有空再研究下邮件安全吧