通过使用php上传文件将excel文件导入phpmyadmin

时间:2014-01-11 15:49:31

标签: php

是否可以将excel文件上传到我的php myadmin。我知道我的phpmyadmin数据库表的所有字段名称和我的Excel表格字段应该是相同的。但我没有找到这个主题的适当解决方案。导入我的excel文件代码我没有发现。而且我很困惑。

以下是我尝试过的代码:

<form action="upload.php">
        <input type="file" name="txtFile" id="eskal"  /></br>
<input type="submit" name="Import" value="Update Database" /> </b>

upload.php的:

 <?php
if(isset($_POST["Import"]))
{
$host="localhost"; // Host name.
$db_user="root";
$db_password="";
$db='test'; // Database name.
$conn=mysql_connect($host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db) or die (mysql_error());

echo $filename=$_FILES["file"]["tmp_name"];
//echo $ext=substr($filename,strrpos($filename,"."),(strlen($filename)-strrpos($filename,".")));


 if($_FILES["file"]["size"] > 0)
 {

  $file = fopen($filename, "r");
         while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
         {
            print_r($emapData);
            $sql = "INSERT into import(name,address,email,password) values('$emapData[0]','$emapData[1]')";
            mysql_query($sql);
         }
         fclose($file);
         echo "CSV File has been successfully Imported";
 }
 else
 echo "Invalid File:Please Upload CSV File";

}
?>

我的upload.php代码错了。所以,如果有人可以帮我解决这里的代码。 任何形式的帮助表示赞赏。 提前致谢

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。现在allz工作得非常好。我发布了我的完整代码。

<强> upload.php的:

    <html>
<body style="
    background-color: rgb(128, 151, 185);
">

<form action="import_file.php" method="post"
        enctype="multipart/form-data">
<table>
    <tr>
        <td>
            Filename:
        </td>
        <td>
            <input type="file" name="file" id="file">
        </td>
    </tr>
    <tr>
        <td colspan="2" align="right">
            <input type="submit" name="submit" value="Submit">
        </td>
    </tr>
</table>
</form>

</body>
</html>

<强> import_file.php:

<?php
if ($_FILES["file"]["error"] > 0)
{
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br>";
    //echo "Stored in: " . $_FILES["file"]["tmp_name"];
    $a=$_FILES["file"]["tmp_name"];
    //echo $a;

    $connect = mysql_connect('localhost','root','');
if (!$connect) {
die('Could not connect to MySQL: ' . mysql_error());
}   
//your database name
$cid =mysql_select_db('test',$connect);

// path where your CSV file is located
//define('CSV_PATH','C:/xampp/htdocs/');
//<!-- C:\xampp\htdocs -->
// Name of your CSV file
$csv_file = $a; 

if (($getfile = fopen($csv_file, "r")) !== FALSE) {
         $data = fgetcsv($getfile, 1000, ",");
   while (($data = fgetcsv($getfile, 1000, ",")) !== FALSE) {
     //$num = count($data);
       //echo $num;
        //for ($c=0; $c < $num; $c++) {
            $result = $data;
            $str = implode(",", $result);
            $slice = explode(",", $str);

            $col1 = $slice[0];
            $col2 = $slice[1];
            $col3 = $slice[2];
             $col4 = $slice[3];

$query = "INSERT INTO persons(id, name, email ,contacts) VALUES('".$col1."','".$col2."','".$col3."','".$col4."')";
$s=mysql_query($query, $connect );
}
}
echo "<script>alert('Record successfully uploaded.');window.location.href='edit_table.php';</script>";
//echo "File data successfully imported to database!!";
mysql_close($connect);
}
?>

以上是完整的工作代码。