Hướng dẫn how do i import a csv file into php? - làm cách nào để nhập tệp csv vào php?

PHP được sử dụng rộng rãi để xây dựng một loạt các sản phẩm từ các ứng dụng web đến các ứng dụng cấp doanh nghiệp. Chìa khóa để mã PHP hiệu quả là tuân theo các quy trình công việc phù hợp và tự động hóa các quy trình. Kết quả là mã chất lượng cao và không có lỗi.

Trong hầu hết các ứng dụng PHP, dữ liệu được lưu trữ, truy cập và trao đổi giữa các thành phần khác nhau của ứng dụng. Để đảm bảo rằng việc trao đổi và truy cập dữ liệu này diễn ra suôn sẻ và không có bất kỳ vấn đề nào, nhóm phát triển phải đảm bảo rằng cơ sở dữ liệu và kết xuất dữ liệu ở định dạng thích hợp.

Hướng dẫn how do i import a csv file into php? - làm cách nào để nhập tệp csv vào php?

Nhập và xuất dữ liệu đến và từ cơ sở dữ liệu là một quy trình đủ phổ biến trong phát triển PHP. Một hoạt động quan trọng khác là sao lưu và chuyển cơ sở dữ liệu.

Trong bài viết này, tôi sẽ giải thích cách lưu các bảng từ các tệp CSV vào MySQL và ngược lại. Bạn cần đăng ký tại Cloudways để khởi chạy ứng dụng máy chủ và PHPStack. Trước khi đăng ký, xem xét tất cả các tùy chọn giá từ các nhà cung cấp dịch vụ lưu trữ đẳng cấp thế giới như AWS, DigitalOcean, Linode, Vultr và GCP là một ý tưởng tốt để bạn có thể tìm thấy một điều hoàn toàn phù hợp với nhu cầu của bạn.Before signing up, looking at all the pricing options from the world-class hosting providers like AWS, DigitalOcean, Linode, Vultr and GCP is a good idea so you can find the one that perfectly fits your needs.

Lưu trữ PHP: Lưu trữ web Php 7 & PHP tốt nhất

Tạo cơ sở dữ liệu trong MySQL

Bước đầu tiên trong hướng dẫn này là việc tạo cơ sở dữ liệu MySQL. Vì Cloudways cung cấp Trình quản lý MySQL tùy chỉnh trong nền tảng chứa cơ sở dữ liệu cho ứng dụng. Bạn có thể tạo các bảng bằng cách chạy các truy vấn SQL. & NBSP; Tạo bảng `procovereeInfo` trong cơ sở dữ liệu bằng truy vấn SQL sau. Create a table `employeeinfo` in database using the following SQL query.

CREATE TABLE employeeinfo(
emp_id VARCHAR(50) UNSIGNED PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date VARCHAR(50)
)

Hướng dẫn how do i import a csv file into php? - làm cách nào để nhập tệp csv vào php?

Điều này sẽ tạo ra một bảng mới `ablodyeeInfo` trong cơ sở dữ liệu. Tôi sẽ sử dụng bảng này để chèn dữ liệu từ tệp CSV.employeeinfo` in the database. I will use this table to insert data from the CSV file.

Ngừng lãng phí thời gian vào máy chủ

Cloudways xử lý quản lý máy chủ cho bạn để bạn có thể tập trung vào việc tạo các ứng dụng tuyệt vời và giữ cho khách hàng của bạn hài lòng.

Tạo kết nối MySQL trong PHP

Để nhập và xuất cơ sở dữ liệu trong MySQL & NBSP; sẽ tạo một tệp riêng `config.php`. Thêm mã sau và thay thế thông tin xác thực cơ sở dữ liệu bằng của bạn. Bạn có thể tìm thấy thông tin đăng nhập DB của mình trong chi tiết truy cập ứng dụng:`. Add the following code and replace the database credentials with yours. You can find your db credentials in Application Access details:

Hướng dẫn how do i import a csv file into php? - làm cách nào để nhập tệp csv vào php?

<?php
function getdb(){
$servername = "localhost";
$username = "huscqxzwaw";
$password = "2WWKxxxxHr";
$db = "huscqxzwaw";

try {
   
    $conn = mysqli_connect($servername, $username, $password, $db);
     //echo "Connected successfully"; 
    }
catch(exception $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
    return $conn;
}
?>

Liên quan: & NBSP; Cách kết nối cơ sở dữ liệu MySQL với các trang web PHP

Nhập CSV vào MySQL & NBSP; trong PHP

Sau khi cơ sở dữ liệu đã được tạo, tiếp theo tôi cần một tệp HTML & nbsp; có thể tải lên tệp CSV. Đối với tệp HTML này, tôi sẽ sử dụng trình tải lên tệp HTML ở dạng bootstrap đơn giản.

Tạo một tệp và đặt tên cho nó `index.php` & nbsp ;. Đây là một hình thức đơn giản để tải lên tệp CSV. Tệp này cũng sẽ hiển thị kết quả trong một bảng đơn giản trên cùng một trang. Khi người dùng gửi biểu mẫu, & nbsp; tất cả các bản ghi sẽ được lưu trong cơ sở dữ liệu.index.php` . This is a simple form for uploading CSV file. This file will also show the results in a simple table on the same page. When the user submits the form,  all records will be saved in the database.

Đầu tiên, tôi sẽ thêm bootstrap cdn vào index.php.index.php.

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" crossorigin="anonymous"></script>

Tiếp theo, trong thẻ `body`, & nbsp; thêm mã HTML sau đây cho biểu mẫu bootstrap.body` tag,  add the following HTML code for the Bootstrap form.

<!DOCTYPE html>
<html lang="en">

<head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" crossorigin="anonymous">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" crossorigin="anonymous">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" crossorigin="anonymous"></script>

</head>

<body>
    <div id="wrap">
        <div class="container">
            <div class="row">

                <form class="form-horizontal" action="functions.php" method="post" name="upload_excel" enctype="multipart/form-data">
                    <fieldset>

                        <!-- Form Name -->
                        <legend>Form Name</legend>

                        <!-- File Button -->
                        <div class="form-group">
                            <label class="col-md-4 control-label" for="filebutton">Select File</label>
                            <div class="col-md-4">
                                <input type="file" name="file" id="file" class="input-large">
                            </div>
                        </div>

                        <!-- Button -->
                        <div class="form-group">
                            <label class="col-md-4 control-label" for="singlebutton">Import data</label>
                            <div class="col-md-4">
                                <button type="submit" id="submit" name="Import" class="btn btn-primary button-loading" data-loading-text="Loading...">Import</button>
                            </div>
                        </div>

                    </fieldset>
                </form>

            </div>
            <?php
               get_all_records();
            ?>
        </div>
    </div>
</body>

</html>

Hướng dẫn how do i import a csv file into php? - làm cách nào để nhập tệp csv vào php?

Bạn có thể nhận thấy rằng tôi đã đặt một hành động thành tệp `function.php`. Trong bước tiếp theo, tôi sẽ tạo tệp này và thêm mã vào nó. Tôi cũng đã bao gồm một phương thức `get_all_records ()` Gần cuối tệp. Phương thức này tìm nạp tất cả các bản ghi từ cơ sở dữ liệu và hiển thị các bản ghi trong bảng trên trang Index.functions.php` file. In the next step, I will create this file and add code to it. I have also include a method `get_all_records()` near the end of the file. This method fetches all the records from the database and display the records in the table on the index page.

Tiếp theo, tôi sẽ tạo tệp `function.php` và thêm mã sau trong đó.functions.php` file and add the following code in it.

<?php


 if(isset($_POST["Import"])){
		
		$filename=$_FILES["file"]["tmp_name"];		


		 if($_FILES["file"]["size"] > 0)
		 {
		  	$file = fopen($filename, "r");
	        while (($getData = fgetcsv($file, 10000, ",")) !== FALSE)
	         {


	           $sql = "INSERT into employeeinfo (emp_id,firstname,lastname,email,reg_date) 
                   values ('".$getData[0]."','".$getData[1]."','".$getData[2]."','".$getData[3]."','".$getData[4]."')";
                   $result = mysqli_query($con, $sql);
				if(!isset($result))
				{
					echo "<script type=\"text/javascript\">
							alert(\"Invalid File:Please Upload CSV File.\");
							window.location = \"index.php\"
						  </script>";		
				}
				else {
					  echo "<script type=\"text/javascript\">
						alert(\"CSV File has been successfully Imported.\");
						window.location = \"index.php\"
					</script>";
				}
	         }
			
	         fclose($file);	
		 }
	}	 


 ?>

Khi nhấp vào nút tải lên, tên tệp tạm thời sẽ được lưu trong bộ nhớ và sử dụng vòng lặp `while, dữ liệu được lưu trong biến $ getData. Khi quá trình đã được hoàn thành, dữ liệu được sắp xếp cột khôn ngoan và cuối cùng được chèn vào bảng `haspaneseeInfo`.upload button is clicked, the temporary file name will be stored in memory and using the `while` loop the data is saved in $getData variable. Once the process has been completed, the data is sorted column wise and then finally inserted in the `employeeinfo` table.

Lưu ý rằng `fgetcsv ()` phân tích các dòng từ tệp mở, kiểm tra các trường CSV và `fopen ()` Mở tệp hoặc URL. Mã này có thể được kiểm tra bằng cách nhập tệp CSV với dữ liệu thử nghiệm.fgetcsv()` parses lines from the open file, checking for CSV fields and `fopen()` opens a file or a URL. This code could be tested by importing a CSV file with test data.

Hiển thị các bản ghi đã lưu

Khi tệp CSV đã được nhập, tôi sẽ hiển thị dữ liệu thông qua một hàm đơn giản, 'get_all_records () `, khởi tạo trong` index.php`. Sao chép chức năng này thành `function.php`.get_all_records()`, initialized in `index.php`. Copy this function to `function.php`.

function get_all_records(){
    $con = getdb();
    $Sql = "SELECT * FROM employeeinfo";
    $result = mysqli_query($con, $Sql);  


    if (mysqli_num_rows($result) > 0) {
     echo "<div class='table-responsive'><table id='myTable' class='table table-striped table-bordered'>
             <thead><tr><th>EMP ID</th>
                          <th>First Name</th>
                          <th>Last Name</th>
                          <th>Email</th>
                          <th>Registration Date</th>
                        </tr></thead><tbody>";


     while($row = mysqli_fetch_assoc($result)) {

         echo "<tr><td>" . $row['emp_id']."</td>
                   <td>" . $row['firstname']."</td>
                   <td>" . $row['lastname']."</td>
                   <td>" . $row['email']."</td>
                   <td>" . $row['reg_date']."</td></tr>";        
     }
    
     echo "</tbody></table></div>";
     
} else {
     echo "you have no records";
}
}

Trong phương thức thực sự đơn giản này, tôi chỉ cần chọn tất cả các bản ghi và hiển thị các bản ghi này trên trang chỉ mục thông qua phương thức. Bất cứ khi nào người dùng tải lên tệp CSV, các bản ghi sẽ được lưu trong bảng và sau đó được hiển thị trên trang Index.

Xuất MySQL sang CSV với & NBSP; PHP

Xuất dữ liệu từ & NBSP; Cơ sở dữ liệu MySQL sang tệp CSV cũng rất dễ dàng. Để chứng minh điều này, tôi sẽ sử dụng index.php mà tôi đã tạo trước đó.index.php that I created earlier.

Thêm mã sau vào tệp.

 <div>
            <form class="form-horizontal" action="functions.php" method="post" name="upload_excel"   
                      enctype="multipart/form-data">
                  <div class="form-group">
                            <div class="col-md-4 col-md-offset-4">
                                <input type="submit" name="Export" class="btn btn-success" value="export to excel"/>
                            </div>
                   </div>                    
            </form>           
 </div>

Sau khi thêm đánh dấu HTML này, nút Xuất & NBSP; sẽ xuất hiện bên dưới bảng. Bây giờ thêm điều kiện sau trong chức năng.php.Export button will appear below the table. Now add the following condition in functions.php.

 if(isset($_POST["Export"])){
		 
      header('Content-Type: text/csv; charset=utf-8');  
      header('Content-Disposition: attachment; filename=data.csv');  
      $output = fopen("php://output", "w");  
      fputcsv($output, array('ID', 'First Name', 'Last Name', 'Email', 'Joining Date'));  
      $query = "SELECT * from employeeinfo ORDER BY emp_id DESC";  
      $result = mysqli_query($con, $query);  
      while($row = mysqli_fetch_assoc($result))  
      {  
           fputcsv($output, $row);  
      }  
      fclose($output);  
 }  

Khi nhấp vào nút `export` & nbsp;, các tiêu đề` loại nội dung: text/csv` với tệp đính kèm & nbsp; `data.csv` được gửi.Export` button is clicked, the headers `Content-Type: text/csv` with an attachement `data.csv` is sent.

Vì `PHP: // output` là luồng chỉ ghi cho phép truy cập ghi vào cơ chế bộ đệm đầu ra, tôi đã chọn tất cả dữ liệu từ bảng trong dòng tiếp theo và chuyển nó cho` fputcsv () `& nbsp; phương thức. Phương thức này định dạng một dòng (được truyền dưới dạng mảng trường) dưới dạng CSV và viết nó (chấm dứt bởi một dòng mới) vào tệp được chỉ định. Cuối cùng, tệp với tất cả các dữ liệu mong muốn được tải xuống.php://output` is a write-only stream that allows write access to the output buffer mechanism, I selected all data from table in the next line, and passed it to `fputcsv()` method. This method formats a line (passed as a fields array) as CSV and write it (terminated by a newline) to the specified file. Finally, the file with all the desired data is downloaded.

Cuối cùng, sau khi tích hợp tất cả các mã, bạn sẽ thấy hình dạng cuối cùng sau đây của ứng dụng.

Hướng dẫn how do i import a csv file into php? - làm cách nào để nhập tệp csv vào php?

Bạn cũng có thể thích: & nbsp; crud đơn giản trong php và mysql Simple CRUD in PHP and MySQL

Sự kết luận

Trong bài viết này, tôi đã thảo luận về cách bạn có thể xuất dữ liệu từ và sang các tệp CSV bằng PHP và MySQL. Đây là một ví dụ đơn giản bạn có thể thêm logic và xác nhận phức tạp hơn theo yêu cầu của bạn. Bạn cũng có thể tạo các trường hợp kiểm tra để xác minh mã và số nguyên bằng GitHub bằng các công cụ số nguyên liên tục PHP. Nếu bạn muốn thêm vào cuộc thảo luận hoặc muốn đặt câu hỏi, hãy để lại nhận xét bên dưới.

Làm cách nào để nhập và xuất CSV bằng PHP và MySQL?

  • Phê duyệt hồ sơ đã gửi, cho dù một tệp CSV đáng kể.
  • Kiểm tra trạng thái truyền tệp CSV sử dụng hàm PHP IS_UPLOADED_FILE ().
  • Truy cập tệp CSV sử dụng hàm php fopen ().
  • Dữ liệu phân tích từ bản ghi CSV sử dụng hàm fgetcsv () PHP.
  • Chèn hoặc cập nhật dữ liệu vào cơ sở dữ liệu dựa trên e-mail thành viên.

Chia sẻ ý kiến ​​của bạn trong phần bình luận. Nhận xét ngay bây giờ COMMENT NOW

Chia sẻ bài viết này

Đánh giá của khách hàng tại

Hướng dẫn how do i import a csv file into php? - làm cách nào để nhập tệp csv vào php?

“Couldways Hosting có một trong những dịch vụ khách hàng tốt nhất và tốc độ lưu trữ”

Sanjit C [Nhà phát triển trang web]

×

Nhận bản tin của chúng tôi là người đầu tiên để có được các bản cập nhật và hướng dẫn mới nhất. Be the first to get the latest updates and tutorials.

Cảm ơn bạn đã đăng ký chúng tôi!

Làm cách nào để nhập tệp CSV?

Trên menu dữ liệu, chỉ để nhận dữ liệu bên ngoài, sau đó nhấp vào Chỉnh sửa Nhập văn bản hoặc Thuộc tính phạm vi dữ liệu.Nếu bạn chọn Chỉnh sửa Nhập văn bản, chọn tệp mà bạn đã nhập ban đầu và sau đó thực hiện các thay đổi đối với dữ liệu bên ngoài trong Trình hướng dẫn Nhập văn bản.. If you select Edit Text Import, select the file that you imported originally, and then make changes to the external data in the Text Import Wizard.

Làm cách nào để nhập và xuất CSV bằng PHP và MySQL?

Cách nhập và xuất các tệp CSV bằng PHP và MySQL..
Tạo cơ sở dữ liệu trong MySQL ..
Nhập CSV vào MySQL trong PHP ..
Hiển thị các bản ghi đã lưu ..
Xuất MySQL sang CSV với PHP ..

Làm cách nào để nhập tệp CSV vào MySQL?

Trong danh sách định dạng, chọn CSV.Thay đổi các tùy chọn cụ thể định dạng.Nếu tệp CSV được phân tách bởi một ký tự không phải là dấu phẩy hoặc nếu có các thông số kỹ thuật khác cho các tệp CSV, chúng ta có thể thay đổi nó trong phần này.Nhấp vào Đi để bắt đầu nhập tệp CSV và dữ liệu sẽ được nhập thành công vào MySQL.