ecshop导出会员邮箱

效果:

QQ图片20140105123821

QQ图片20140105123955 QQ图片20140105124027

可导出一行一个,或一行多个且分号隔开,方便复制群发。

思路:后台“会员管理”里面增加一个“导出会员”的按钮来执行一个导出文件的函数,这个函数里面就写着,查会员表,拿得会员的所有邮箱,用header();导出txt文件。

1,admin/templates/users_list.htm,添加导出按钮

  <form action="javascript:searchUser()" name="searchForm">
    <img src="images/icon_search.gif" width="26" height="22" border="0" alt="SEARCH" />
    &nbsp;{$lang.label_rank_name} <select name="user_rank"><option value="0">{$lang.all_option}</option>{html_options options=$user_ranks }</select>
    &nbsp;{$lang.label_pay_points_gt}&nbsp;<input type="text" name="pay_points_gt" size="8" />&nbsp;{$lang.label_pay_points_lt}&nbsp;<input type="text" name="pay_points_lt" size="10" />
    &nbsp;{$lang.label_user_name} &nbsp;<input type="text" name="keyword" /> <input type="submit" value="{$lang.button_search}" />
	&nbsp;<input type="button" name="export" value="导出邮箱" onclick="location.href='users.php?act=export';" class="button" />
  </form>

2、admin/users.php,在最后一个elseif 后面添加代码

/*------------------------------------------------------ */
//-- 导出邮箱
/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'export')
{
    $sql = "SELECT email FROM " . $ecs->table('users');
    $emails = $db->getAll($sql);
    $out = '';
    foreach ($emails as $key => $val)
    {
		if (empty($val[email]))
		{
			continue;	
		}
		else
		{		
			$out .= "$val[email]n"; //一行一个

			/* 一行50个且分号隔开,方便复制群发。
			if (($key+1) % 50 == 0)
			{
				$out .= "$val[email]n";
			}
			else
			{
				$out .= "$val[email];";	
			}*/
			
		}
    }
	//保存文件
    $contentType = 'text/plain';//输出类型 
    $len = strlen($out);
    header('Last-Modified: ' . gmdate('D, d M Y H:i:s',time()+31536000) .' GMT');//告诉浏览器此页面的最后更新日期
    header('Pragma: no-cache');//告诉客户端浏览器不使用缓存 
    header('Content-Encoding: none');//返回内容压缩编码类型 如:gzip
    header('Content-type: ' . $contentType);//输出类型
    header('Content-Length: ' . $len);//文件长度 
    header('Content-Disposition: attachment; filename="users_email.txt"');//文件保存对话框中的文件名称 
    echo $out;
    exit;
}

关于《HTTP Header 详解》可以查阅这篇文章。

End!

阅读剩余
THE END