<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Excel数据获取演示</title>
<meta name="Keywords" content="TODO" />
<meta name="Description" content="TODO"/>
</head>
<body>
<div>
<div>提交表单</div>
<div>
<form method="POST" action="www.111cn.net/Index/parse" enctype="multipart/form-data">
<input type="file" name="excel" value="" />
<input type="submit" name="submit" value="提交" />
</form>
</div>
</div>
</body>
</html>
public function parse()
{
/**
* $_FILES数组说明
* array(n) {
* ["表单文件框名称"] => array(5) {
* ["name"] => 提交文件名称
* ["type"] => 提交文件类型 Excel为"application/vnd.ms-excel"
* ["tmp_name"] => 临时文件名称
* ["error"] => 错误(0成功1文件太大超过upload_max_filesize2文件太大超过MAX_FILE3上传不完整4没有上传文件)
* ["size"] => 文件大小(单位:KB)
* }
* }
*/
$return=array(0,'');
/**
* 判断是否提交
* is_uploaded_file(文件名称)用于确定指定的文件是否使用POST方法上传,防止非法提交,通常和move_upload_file一起使用保存上传文件到指定的路径
*/
if(!isset($_FILES) || !is_uploaded_file($_FILES['excel']['tmp_name']))
{
$return=array(1,'提交不合法');
}
//处理
if(0 == $return[0])
{
import('@.Util.ExcelParser');
$excel=new ExcelParser($_FILES['excel']['tmp_name']);
$return=$excel->main();
}
//输出处理
print_r($return);
?>
class ExcelParser
{
private $_data=array(0,'');
private $_excel_handle;
private $_excel=array();
/**
* 构造函数
* @param <string> $filename 上传文件临时文件名称
*/
public function __construct($filename)
{
/**
* 引入excelparser类
* 普通方法为
* requires 路径.'excelparser.php';
*/
import('@.Util.PHPExcelParser.excelparser','','.php');
$this->_excel_handle=new ExcelFileParser();
//错误获取
$this->checkErrors($filename);
}
/**
* 错误校验
*/
private function checkErrors($filename)
{
/**
* 方法一
*/
$error_code=$this->_excel_handle->ParseFromFile($filename);
/**
* 方法二
* $file_handle = fopen($this->_filename,'rb');
* $content = fread($file_handle,filesize($this->_filename));
* fclose($file_handle);
* $error_code = $this->_excel->ParseFromString($content);
* unset($content,$file_handle);
*/
switch($error_code)
{
case 0:
//无错误不处理
break;
case 1:
$this->_data=array(1,'文件读取错误(Linux注意读写权限)');
break;
case 2:
$this->_data=array(1,'文件太小');
break;
case 3:
$this->_data=array(1,'www.111cn.net读取Excel表头失败');
break;
case 4:
$this->_data=array(1,'文件读取错误');
break;
case 5:
$this->_data=array(1,'文件可能为空');
break;
case 6:
$this->_data=array(1,'文件不完整');
break;
case 7:
$this->_data=array(1,'读取数据错误');
break;
case 8:
$this->_data=array(1,'版本错误');
break;
}
unset($error_code);
}
/**
* Excel信息获取
*/
private function getExcelInfo()
{
if(1==$this->_data[0])return;
/**
* 获得sheet数量
* 获得sheet单元对应的行和列
*/
$this->_excel['sheet_number']=count($this->_excel_handle->worksheet['name']);
for($i=0;$i<$this->_excel['sheet_number'];$i++)
{
/**
* 行于列
* 注意:从0开始计数
*/
$row=$this->_excel_handle->worksheet['data'][$i]['max_row'];
$col=$this->_excel_handle->worksheet['data'][$i]['max_col'];
$this->_excel['row_number'][$i]=($row==NULL)?0:++$row;
$this->_excel['col_number'][$i]=($col==NULL)?0:++$col;
unset($row,$col);
}
}
/**
* 中文处理函数
* @return <string>
*/
private function uc2html($str)
{
$ret = '';
for( $i=0; $i<strlen($str)/2; $i++ )
{
$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
$ret .= '&#'.$charcode.';';
}
return mb_convert_encoding($ret,'UTF-8','HTML-ENTITIES');
}
/**
* Excel数据获取
*/
private function getExcelData()
{
if(1==$this->_data[0])return;
//修改标记
$this->_data[0]=1;
//获取数据
for($i=0;$i<$this->_excel['sheet_number'];$i++)
{
/**
* 对行循环
*/
for($j=0;$j<$this->_excel['row_number'][$i];$j++)
{
/**
* 对列循环
*/
for($k=0;$k<$this->_excel['col_number'][$i];$k++)
{
/**
* array(4) {
* ["type"] => 类型 [0字符类型1整数2浮点数3日期]
* ["font"] => 字体
* ["data"] => 数据
* ...
* }
*/
$data=$this->_excel_handle->worksheet['data'][$i]['cell'][$j][$k];
switch($data['type'])
{
case 0:
//字符类型
if($this->_excel_handle->sst['unicode'][$data['data']])
{
//中文处理
$data['data'] = $this->uc2html($this->_excel_handle->sst['data'][$data['data']]);
}
else
{
$data['data'] = $this->_excel_handle->sst['data'][$data['data']];
}
break;
case 1:
//整数
//TODO
break;
case 2:
//浮点数
//TODO
break;
case 3:
//日期
//TODO
break;
}
$this->_data[1][$i][$j][$k]=$data['data'];
unset($data);
}
}
}
}
/**
* 主函数
* @return <array> array(标识符,内容s)
*/
public function main()
{
//Excel信息获取
$this->getExcelInfo();
//Excel数据获取
$this->getExcelData();
return $this->_data;
}
}
?>
// 创建数据库教程连接
mysql教程_connect('localhost','111cn.net','www.111cn.net');
mysql_select_db('www.111cn.net');//数据库选择
mysql_query('set names "gbk"');
//进度查询操作
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="javascript教程">
check111cnNet()
{
if( myfm.uid.value =='' )
{
alert('www.111cn.net提示你:用户名错误');
return false;
}
if( ! myfm.pwd.value!='' && myfm.pwd.value == myfm.pwd1.value )
{
alert('www.111cn.net提示你:二次密码不正确');
return false;
}
}
</script>
</head>
<body>
<form id="myfm" name="myfm" method="post" action="">
<label>
用户名
<input type="text" name="uid" />
<br>
密码
<input type="text" name="pwd" />
<br>
密码2
<input type="text" name="pwd2" />
<br>
</label>
<label>
<input type="submit" name="Submit" value="注册" onClick="return check111cnNet();" />
</label>
</form>
</body>
</html>
<?php
if($_POST)
{
$uid = $_POST['uid'];
$pwd = $_POST['pwd'];
$pwd1 = $_POST['pwd1'];
if( empty( $uid ) ){exit();}
$sql = "Select * from user where uid ='$uid' limit 0,10";
$query = mysql_query($sql ) or die("www.111cn.net提示你:查询出错了");
if( mysql_num_rows( $query ) )
{
echo '用户己被注册';
}
else
{
if(mysql_query("insert into user(uid,pwd) values('$uid','md5($pwd)')"))
{
echo 'www.111cn.net提示你:注册成功';
}
else
{
echo '注册失败';
}
}
}
/*
数据表结构
CREATE TABLE `111cnNet`.`user` (
`id` INT( 8 ) NOT NULL AUTO_INCREMENT ,
`uid` CHAR( 150 ) NULL ,
`pwd` char(32) NULL ,
PRIMARY KEY ( `id` )
) ENGINE
本教程只供学习用没进行安全处理,如用于商业用途出现任何问题与本站www.111cn.net无关
*/
// 纯本站原创转载必须注明来源否则必究责任 来源http://www.111cn.net/phper/php.html
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="javascript教程">
check111cnNet()
{
var keyword = myfm.keyword.value;
if( keyword =='' )
{
alert('www.111cn.net提示你:请输入要查询的内容');
return false;
}
}
</script>
</head>
<body>
<form id="myfm" name="myfm" method="post" action="">
<label>
输入查询关键字:
<input type="text" name="keyword" />
</label>
<label>
<input type="submit" name="Submit" value="提交" onClick="return check111cnNet();" />
</label>
</form>
</body>
</html>
<?php
// 创建数据库教程连接
mysql教程_connect('localhost','111cn.net','www.111cn.net');
mysql_select_db('www.111cn.net');//数据库选择
mysql_query('set names "gbk"');
//进度查询操作
if($_POST)
{
$keyword = $_POST['keyword'];
$sql = "Select * from search where title like '%$keyword%' limit 0,10";
$query = mysql_query($sql ) or die("www.111cn.net提示你:查询出错了");
if( mysql_num_rows( $query ) )
{
while( $rs = mysql_fetch_array( $query ) )
{
echo $rs['title'];
}
}
else
{
echo '没有要找的内容';
}
}
/*
数据表结构
CREATE TABLE `111cnNet`.`test` (
`id` INT( 8 ) NOT NULL AUTO_INCREMENT ,
`title` CHAR( 150 ) NULL ,
`content` TEXT NULL ,
PRIMARY KEY ( `id` )
) ENGINE
*/
//函数解析
mysql_connect //数据库连接了有三个参数分别为 数据库服务器名称,用户名,密码
mysql_select_db//参数有二个,第二个可选 ,第一个数据库名称,第二个数据库连接$connwww.111cn.net
mysql_query('set names "gbk"'); //这一句比较重要,就是设置读取数据库内容的编码了,这句要设置与文档编辑一致,否则可能出现乱码。
mysql_query //数据查询,有二个参数,第一个必须,为sql查询语句。
mysql_num_rows //统计mysql_query查询记录多少条,返回为int型
mysql_fetch_array //读取当前记录集一条记录保存到数组。
$_POST
if else
while
// 纯本站原创转载必须注明来源否则必究责任 来源http://www.111cn.net/phper/php.html
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>标记地图</title>
<script" width=100% src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAc8Kc8QqRiIgpsK23Kp5gkBSH2hU1_Yr14uOHyNBnrSDSRu1cOxQAA7Zqsv6wfxH6g3z1AadUX7peSA" type="text/javascript教程" charset="utf-8"></script>
<!--改用自己的key-->
<script type="text/javascript">
function save(point,zoom){
o = window.opener;
if (point !=null ) {
o.document.getElementById("layout_map").value='('+point.lng()+','+point.lat()+')';//经度
//o.document.getElementById("map_y").value=point.lat();
o.document.getElementById("layout_zoom").value=zoom;
try {
o.document.getElementById("emarked_img").src = "http://www.111cn.net/images/map/modify_note.gif" ;
}catch(e){}
}
}
function initialize(lng_x) {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));//设置map对象
map.addControl(new GSmallMapControl());//google 控件
try{
var owin;
if(window.opener){
owin = window.opener;
}else{
owin = window.parent;
}
map_x=owin.document.getElementById("layout_map").value;
//map_y=owin.document.getElementById("layout_map").value;
map_z=owin.document.getElementById("layout_zoom").value*1;
if( map_x == null || map_x =="" || map_z =='' )
{
map_x ='(103.974609375,33.284619968887675)';
map_z =4;
}
map_x =map_x.replace('(','');
map_x =map_x.replace(')','');
var temp =map_x.split(',');
map_x = temp[0];
map_y = temp[1];
//if(map_x !=null && map_x != "" && map_z>0 )
//{
thispoint=new GLatLng(map_y,map_x,true);
map.setCenter(thispoint,map_z);
map.addOverlay(new GMarker(thispoint));
//}
//else
//{
// map.setCenter(new GLatLng(37.86455455760559,112.55081176757812), 10);
// alert(map_y);
//}
}catch(e){
//alert(map_z);
map.setCenter(new GLatLng(37.86455455760559,112.55081176757812), 10);//设置中心点
}
//标记事件
GEvent.addListener(map,"click", function(overlay,point) {
map.clearOverlays();//清除原有的标记
map.addOverlay(new GMarker(point));
save(point,map.getZoom());
});
}
}
</script>
<style>
<!--
body{ margin:0px; padding:0px;}
#save{ line-height:1.8em; text-align:center; width:700px;}
-->
</style>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 900px; height: 550px"></div>
<div id="save"><input value="保存标记" onclick="javascript:window.close();" type="button"/></div>
</body>
</html>