对多维数组按某值排序的php代码,供大家参考。
$arr = array(
"0" => array(line_num => "10", occur_time => "2007-11-19 10:25:04+08"),
"1" => array(line_num => "9", occur_time => "2007-11-19 10:25:04+08"),
"2" => array(line_num => "25", occur_time => "2007-11-19 10:25:04+08")
);
print_r($arr);
echo "<br />";
echo "<br />";
echo "<br />";
uasort( $arr,create_function('$a, $b', 'return $a[\'line_num\'] < $b[\'line_num\'];') );
print_r($arr);
echo "<br />";
echo "<br />";
echo "<br />";
foreach($arr as $key => $value) {
$ar[] = $value;
}
print_r($ar);
?>
输出结果:
Array
(
[0] => Array
(
[line_num] => 10
[occur_time] => 2007-11-19 10:25:04+08
)
[1] => Array
(
[line_num] => 9
[occur_time] => 2007-11-19 10:25:04+08
)
[2] => Array
(
[line_num] => 25
[occur_time] => 2007-11-19 10:25:04+08
)
)
<br /><br /><br />Array
(
[2] => Array
(
[line_num] => 25
[occur_time] => 2007-11-19 10:25:04+08
)
[0] => Array
(
[line_num] => 10
[occur_time] => 2007-11-19 10:25:04+08
)
[1] => Array
(
[line_num] => 9
[occur_time] => 2007-11-19 10:25:04+08
)
)
<br /><br /><br />Array
(
[0] => Array
(
[line_num] => 25
[occur_time] => 2007-11-19 10:25:04+08
)
[1] => Array
(
[line_num] => 10
[occur_time] => 2007-11-19 10:25:04+08
)
[2] => Array
(
[line_num] => 9
[occur_time] => 2007-11-19 10:25:04+08
)
)
php有自己的发送邮件的方法(mail()方法),且不说这个方法实现的功能很少,想要利用mail()方法来发送邮件就必须要自己配置好smtp服务器,这里就不讲mail()的使用方法了(函数调用确实很简单)。
本文为大家推荐使用第二种方法:PHPMailer。
首先,到http://phpmailer.sourceforge.net/这个地址去下载最新的PHPMailer的包(PHPMailer方法必须使用这个包)。
下载完成后解压到相应的目录。可以看到解压后的文件夹里面的class.phpmailer.php(调用PHPMailer需要包含这个文件)
示例代码:
require("phpmailer/class.phpmailer.php");
function smtp_mail( $sendto_email, $subject, $body, $extra_hdrs, $user_name){
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = "smtp.163.com"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "xuchao842363331"; // SMTP username 注意:普通邮件认证不需要加 @域名 这里是我的163邮箱
$mail->Password = "password"; // SMTP password 在这里输入邮箱的密码
$mail->From = "xxx123@163.com"; // 发件人邮箱
$mail->FromName = "管理员"; // 发件人
$mail->CharSet = "UTF-8"; // 这里指定字符集! 指定UTF-8后邮件的标题和发件人等等不会乱码,如果是GB2312标题会乱码
$mail->Encoding = "base64";
$mail->AddAddress($sendto_email,"username"); // 收件人邮箱和姓名
$mail->AddReplyTo("yourmail@yourdomain.com","yourdomain.com");
//$mail->WordWrap = 50; // set word wrap 换行字数
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
//$mail->IsHTML(true); // send as HTML
// 邮件主题
$mail->Subject = $subject;
// 邮件内容
$mail->Body = "hello!PHPMailer";
//$mail->AltBody ="text/html";
if(!$mail->Send())
{
echo "error <p>";
echo "error: " . $mail->ErrorInfo;
exit;
}
else {
echo"success!";
}
}
// 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)
?>
说明:当字符集指定为GB2312的时候标题会乱码,这里指定为UTF-8不会出现乱码。
其实,PHPMailer还有很多功能,比如可以添加附件等等,这里就不再演示了。
这样在需要用邮件功能时,便可以调用这个函数:
require("mail.php");
smtp_mail("790896688@qq.com", "欢迎访问", "", "", "username");
?>
您可能感兴趣的文章:
PHPMailer发送邮件的实例分享
phpmailer发送gmail邮件的例子
phpmailer发送网易126邮箱的例子
phpmailer发送yahoo邮件的例子
phpmailer类实现邮件群发的实例代码
PHPMailer发送邮件代码实例(ubuntu系统)
PHPMailer发送带附件邮件的例子
PHPMailer收发邮件标题、发件人、内容乱码问题的终极解决方法
PHPmailer发送邮件及乱码问题的解决
PHPMailer发送邮件中文附件名乱码的解决办法
PHPMailer邮件标题中文乱码的解决方法
PHPMailer邮件类发送邮件举例(163邮箱)
phpmailer 发送邮件中文乱码问题的解决方法总结
phpmailer发送邮件及实现密码找回功能的代码
PHPmailer邮件群发的入门例子
PHPmailer 邮件群发的范例参考
phpmailer发邮件中文乱码问题如何解决
phpmailer 类发送邮件乱码解决方法
PHPMailer批量发送邮件的实例代码
有关phpmailer的用法
phpmailer实现的简单openvpn用户认证的代码
PHPMailer 中文使用说明
phpmailer发送邮件的例子
php中socket编程一例,有需要的朋友可以看看。
客户端代码:
error_reporting(E_ALL);
set_time_limit(0);
echo "<h2>TCP/IP Connection</h2>\n";
$port = 1935;
$ip = "127.0.0.1";
/*
+-------------------------------
* @socket连接整个过程
+-------------------------------
* @socket_create
* @socket_connect
* @socket_write
* @socket_read
* @socket_close
+--------------------------------
*/
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
}else {
echo "OK.\n";
}
echo "试图连接 '$ip' 端口 '$port'...\n";
$result = socket_connect($socket, $ip, $port);
if ($result < 0) {
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
}else {
echo "连接OK\n";
}
$in = "Ho\r\n";
$in .= "first blood\r\n";
$out = '';
if(!socket_write($socket, $in, strlen($in))) {
echo "socket_write() failed: reason: " . socket_strerror($socket) . "\n";
}else {
echo "发送到服务器信息成功!\n";
echo "发送的内容为:<font color='red'>$in</font> <br>";
}
while($out = socket_read($socket, 8192)) {
echo "接收服务器回传信息成功!\n";
echo "接受的内容为:",$out;
}
echo "关闭SOCKET...\n";
socket_close($socket);
echo "关闭OK\n";
?>
服务器端代码:
//确保在连接客户端时不会超时
set_time_limit(0);
$ip = '127.0.0.1';
$port = 1935;
/*
+-------------------------------
* @socket通信整个过程
+-------------------------------
* @socket_create
* @socket_bind
* @socket_listen
* @socket_accept
* @socket_read
* @socket_write
* @socket_close
+--------------------------------
*/
/*----------------以下操作都是手册上的-------------------*/
if(($sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0) {
echo "socket_create() 失败的原因是:".socket_strerror($sock)."\n";
}
if(($ret = socket_bind($sock,$ip,$port)) < 0) {
echo "socket_bind() 失败的原因是:".socket_strerror($ret)."\n";
}
if(($ret = socket_listen($sock,4)) < 0) {
echo "socket_listen() 失败的原因是:".socket_strerror($ret)."\n";
}
$count = 0;
do {
if (($msgsock = socket_accept($sock)) < 0) {
echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";
echo "等待连接...";
break;
} else {
//发到客户端
$msg ="测试成功!\n";
socket_write($msgsock, $msg, strlen($msg));
echo "测试成功了啊\n";
$buf = socket_read($msgsock,8192);
$talkback = "收到的信息:$buf\n";
echo $talkback;
if(++$count >= 5){
break;
};
}
//echo $buf;
socket_close($msgsock);
} while (true);
socket_close($sock);
?>