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
大侠帮一下

解决方案 »

  1.   

    $subHotel_temp=fopen("test.csv", "r");//需要2参数,提示很明显了
      

  2.   

    可我这么写还是有错Warning: fopen(test.csv) [function.fopen]: failed to open stream: No such file or directory 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
      

  3.   

    这是html模板页<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>
      

  4.   

    你要获取你上传文件的内容啊!!晕!!
    表单类型改为:
    <form action="subHotel_import.php" method="post" enctype="multipart/form-data">
    获取上传文件:
    $_FILE['upload']
    具体内容你用print_r查看下$_FILE['upload']就知道了
      

  5.   


    我改成这样写后,不报错,但是就是导入不了
    $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);
      

  6.   

    <form  action="subHotel_import.php"  ENCTYPE="multipart/form-data" method="post">
    <p>导入CVS数据 <input NAME="MyFile" TYPE="file"> <input VALUE="提交" TYPE="submit">
    </p>
    </form>
      

  7.   

    $db = create_peardb_handle();
    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 "";
    }
      

  8.   

    $fname = $_FILES['MyFile']['name'];
    改成:$fname = $_FILES['MyFile']['tmp_name'];
      

  9.   

    按照你说的改成这样还是不行
    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");
    }
      

  10.   

    别等了,找个字典,再找个php手册。