require_once("config.php");
require_once(APP_PATH . "include/etpass.include.php");
//require_once("subHotel_cookie.php");$db = create_peardb_handle();
$subHotel_temp=fopen("test.csv");//连接EXCEL文件,格式为了.csv
$subHotel_q=$db->query("insert into hotel_activities_2(hotel_id,start_date,end_date,content,s_type) values('");
while ($subHotel_data = fgetcsv ($subHotel_temp, 1000, ",")) {
$subHotel_num = count ($subHotel_data);
for ($i=0;$i<$subHotel_num;$i++)
{
if($i==$subHotel_num-1){$subHotel_q=$subHotel_q.$subHotel_data[$i]."')";break;}
$subHotel_q=$subHotel_q.$subHotel_data[$i]."','";
}
echo "SQL语句执行成功";
$sql=$db->query("insert into hotel_activities_2(hotel_id,start_date,end_date,content,s_type) values('");
fclose ($subHotel_temp);
}
$tpl->display("hotel_admin/subHotel_import.htm");
模板页
<form action="subHotel_import.php" method="post">
<table width="400" border="0" cellspacing="1" cellpadding="1">
<tr align="center">
<td height="25" style="background-image:url({{$theme_v3}}/images/hotel_ad/left.jpg);" width="400" style="color:#FFFFFF ">文件导入</td>
</tr>
<tr align="center" valign="middle">
<td align="center" height="40" bgcolor="#FFFFFF">选择导入文件:<input type="file" name="upload" style="width:280px"></td>
</tr>
<tr align="center" valign="middle">
<td style="background-image:url({{$theme_v3}}/images/hotel_ad/left.jpg);" height="24" width="400">
<div align="center">
<input type="submit" value="开始">
</div>
</td>
</tr>
</table>
<input type="hidden" name="submit" value="submit">
</form>
报错
Warning: fopen() expects at least 2 parameters, 1 given in /var/www/2009/webroot/subject/hotel_admin/subHotel_import.php on line 7Warning: fgetcsv() expects parameter 1 to be resource, boolean given in /var/www/2009/webroot/subject/hotel_admin/subHotel_import.php on line 9
大侠帮一下
<table width="400" border="0" cellspacing="1" cellpadding="1">
<tr align="center">
<td height="25" style="background-image:url({{$theme_v3}}/images/hotel_ad/left.jpg);" width="400" style="color:#FFFFFF ">文件导入</td>
</tr>
<tr align="center" valign="middle">
<td align="center" height="40" bgcolor="#FFFFFF">选择导入文件:<input type="file" name="upload" style="width:280px"></td>
</tr>
<tr align="center" valign="middle">
<td style="background-image:url({{$theme_v3}}/images/hotel_ad/left.jpg);" height="24" width="400">
<div align="center">
<input type="submit" value="开始">
</div>
</td>
</tr>
</table>
<input type="hidden" name="submit" value="submit">
</form>
表单类型改为:
<form action="subHotel_import.php" method="post" enctype="multipart/form-data">
获取上传文件:
$_FILE['upload']
具体内容你用print_r查看下$_FILE['upload']就知道了
我改成这样写后,不报错,但是就是导入不了
$db = create_peardb_handle();
error_reporting(0);//导入CSV格式的文件
$fname = $_FILES['MyFile']['name'];
$handle=fopen("$fname","r");
while($data=fgetcsv($handle,10000,",")){
$q=$db->query("insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')");
}$do = copy($_FILES['MyFile']['tmp_name'],$fname);
if ($do){
echo"导入数据成功<br>";
}else{
echo "";
}
fclose($handle);
<p>导入CVS数据 <input NAME="MyFile" TYPE="file"> <input VALUE="提交" TYPE="submit">
</p>
</form>
error_reporting(0);//导入CSV格式的文件
$fname = $_FILES['MyFile']['name'];
$lines=file("$fname","r");
$i=0;
foreach($lines as $line){
$data=split(',',trim($line));
$q=$db->query("insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')");
$i++;
}//$do = copy($_FILES['MyFile']['tmp_name'],$fname);
if ($i){
echo"导入数据成功<br>";
}else{
echo "";
}
改成:$fname = $_FILES['MyFile']['tmp_name'];
error_reporting(0);//导入CSV格式的文件
require_once("config.php");
require_once(APP_PATH . "include/etpass.include.php");
require_once("subHotel_cookie.php");
if($_POST['submit'])
{
//print_r( $_FILES['MyFile']);
$db = create_peardb_handle();
if(move_uploaded_file($_FILES['MyFile']['tmp_name'],$_FILES['MyFile']['name']))
{
$fname = $_FILES['MyFile']['name'];
/*echo $fname.'<br>';
echo 'sdfasdf';*/
$subHotel_d=$db->query("delete from hotel_activities_2");
$handle=fopen("$fname","r");
while($data=fgetcsv($handle,10000,","))
{
$q=$db->query("insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values ('$data[0]','$data[1]','$data[2]','$data[3]'");
}
//exit();
$do = copy($_FILES['MyFile']['tmp_name'],$fname);
if ($do){
echo"导入数据成功<br>";
}else{
echo "";
}
fclose($handle);
}
}
else
{
$tpl->display("hotel_admin/subHotel_import.htm");
}