重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
第一,在前台html页面进行上传文件:如:
创新互联是一家专业提供慈溪企业网站建设,专注与网站设计、网站制作、H5开发、小程序制作等业务。10年已为慈溪众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
复制代码代码如下:
form method="post" action="php文件"enctype="multipart/form-data"
h3导入Excel表:/h3input type="file" name="file_stu" /
input type="submit" value="导入"/
/form
第二,在对应的php文件进行文件的处理
复制代码代码如下:
if (! empty ( $_FILES ['file_stu'] ['name'] ))
{
$tmp_file = $_FILES ['file_stu'] ['tmp_name'];
$file_types = explode ( ".", $_FILES ['file_stu']['name'] );
$file_type = $file_types [count ( $file_types ) - 1];
/*判别是不是.xls文件,判别是不是excel文件*/
if (strtolower ( $file_type ) !="xls")
{
$this-error ( '不是Excel文件,重新上传' );
}
/*设置上传路径*/
$savePath = SITE_PATH . '/public/upfile/Excel/';
/*以时间来命名上传的文件*/
$str = date ( 'Ymdhis' );
$file_name = $str . "." . $file_type;
/*是否上传成功*/
if (! copy ( $tmp_file, $savePath . $file_name ))
{
$this-error ( '上传失败' );
}
/*
*对上传的Excel数据进行处理生成编程数据,这个函数会在下面第三步的ExcelToArray类中
注意:这里调用执行了第三步类里面的read函数,把Excel转化为数组并返回给$res,再进行数据库写入
*/
$res = Service ( 'ExcelToArray' )-read ( $savePath . $file_name );
/*
重要代码解决Thinkphp M、D方法不能调用的问题
如果在thinkphp中遇到M 、D方法失效时就加入下面一句代码
*/
//spl_autoload_register ( array ('Think', 'autoload' ) );
/*对生成的数组进行数据库的写入*/
foreach ( $res as $k = $v )
{
if ($k != 0)
{
$data ['uid'] = $v[0];
$data ['password']= sha1 ( '111111' );
$data ['email'] =$v [1];
$data ['uname'] = $v [3];
$data ['institute'] = $v [4];
$result = M ( 'user' )-add( $data );
if (! $result)
{
$this-error ( '导入数据库失败' );
}
}
}
}
第三:ExcelToArrary类,用来引用phpExcel并处理Excel数据的
复制代码代码如下:
class ExcelToArrary extends Service{
public function __construct() {
/*导入phpExcel核心类 注意:你的路径跟我不一样就不能直接复制*/
include_once('./Excel/PHPExcel.php');
}
/**
* 读取excel $filename 路径文件名$encode 返回数据的编码默认为utf8
*以下基本都不要修改
*/
public function read($filename,$encode='utf-8'){
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objReader-setReadDataOnly(true);
$objPHPExcel = $objReader-load($filename);
$objWorksheet = $objPHPExcel-getActiveSheet();
$highestRow =$objWorksheet-getHighestRow();
$highestColumn = $objWorksheet-getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$excelData = array();
for($row = 1; $row = $highestRow; $row++) {
for ($col = 0; $col $highestColumnIndex;$col++) {
$excelData[$row][] =(string)$objWorksheet-getCellByColumnAndRow($col,$row)-getValue();
}
}
return $excelData;
}
}
使用表单来传递,_post它在php只能获取由表单的 method="post" 时它才能接受到数据,
如下代码:
form id="form1" name="form1" method="get" action=""
label
input type="text" name="cn" value='获取到我了' /
/label
/forma.php页面
?
if( $_post )
{
echo $_post['cn'];
}
else
{
echo '没有获取到值';
}
?
通过session来储存
?php
session_start();
$_SESSION['username'] = "userName";
?
在其它页面直接取出就行了
?
session_start();
echo $_SESSION['username'];
?
通过url传向其它页面传递参数
other.php?user=xxx
或在php重定向到其它页面时
$username = "xxx";
$home_url = 'logIn.php?user='.$username;
header('Location:'.$home_url);
其它页面用$_GET["user"]来接收
3.通过表单向其它页面传送参数
其它页面用$_POST["user"]来接收
这需要用ajax来实现
index.php
html
titlephp+jquery+ajax+json简单小例子/title
?php
header("Content-Type:text/html;charset=utf-8");
?
head
script type="text/javascript" src="
script type="text/javascript"
$(function() {
$("#subbtn").click(function() {
var params = $("input").serialize();
var url = "1.php";
$.ajax({
type: "post",
url: url,
dataType: "json",
data: params,
success: function(msg){
var backdata = "您提交的姓名为:" + msg.name +
"br / 您提交的密码为:" + msg.password;
$("#backdata").html(backdata);
$("#backdata").css({color: "green"});
}
});
});
});
/script
/head
body
plabel for="name"姓名:/label
input id="name" name="name" type="text" /
/p
plabel for="password"密码:/label
input id="password" name="password" type="password" /
/p
span id="backdata"/span
pinput id="subbtn" type="button" value="提交数据" //p
/body
/html
1.php代码:
?php
//接收数据-处理数据-返回数据
echo json_encode($_POST);
?