Hướng dẫn how upload and parse csv file in php? - cách tải lên và phân tích cú pháp tệp csv trong php?

Mặc dù bạn có thể dễ dàng tìm thấy một hướng dẫn cách xử lý tải lên tệp bằng PHP và có các chức năng (hướng dẫn) để xử lý CSV, tôi sẽ đăng một số mã vì chỉ vài ngày trước tôi đã làm việc trong một dự án, bao gồm một chút mã bạn có thể sử dụng...

HTML:

" method="post" enctype="multipart/form-data">

Select file
Submit

PHP:

if ( isset($_POST["submit"]) ) {

   if ( isset($_FILES["file"])) {

            //if there was an error uploading the file
        if ($_FILES["file"]["error"] > 0) {
            echo "Return Code: " . $_FILES["file"]["error"] . "
"; } else { //Print file details echo "Upload: " . $_FILES["file"]["name"] . "
"; echo "Type: " . $_FILES["file"]["type"] . "
"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
"; //if file already exists if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { //Store file in directory "upload" with the name of "uploaded_file.txt" $storagename = "uploaded_file.txt"; move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $storagename); echo "Stored in: " . "upload/" . $_FILES["file"]["name"] . "
"; } } } else { echo "No file selected
"; } }

Tôi biết phải có một cách dễ dàng hơn để làm điều này, nhưng tôi đọc tệp CSV và lưu trữ các ô đơn của mỗi bản ghi trong một mảng hai chiều.

if ( isset($storagename) && $file = fopen( "upload/" . $storagename , r ) ) {

    echo "File opened.
"; $firstline = fgets ($file, 4096 ); //Gets the number of fields, in CSV-files the names of the fields are mostly given in the first line $num = strlen($firstline) - strlen(str_replace(";", "", $firstline)); //save the different fields of the firstline in an array called fields $fields = array(); $fields = explode( ";", $firstline, ($num+1) ); $line = array(); $i = 0; //CSV: one line is one record and the cells/fields are seperated by ";" //so $dsatz is an two dimensional array saving the records like this: $dsatz[number of record][number of cell] while ( $line[$i] = fgets ($file, 4096) ) { $dsatz[$i] = array(); $dsatz[$i] = explode( ";", $line[$i], ($num+1) ); $i++; } echo ""; echo ""; for ( $k = 0; $k != ($num+1); $k++ ) { echo ""; } echo ""; foreach ($dsatz as $key => $number) { //new table row for every record echo ""; foreach ($number as $k => $content) { //new table cell for every field of the record echo ""; } } echo "
" . $fields[$k] . "
" . $content . "
"; }

Vì vậy, tôi hy vọng điều này sẽ giúp ích, nó chỉ là một đoạn mã nhỏ và tôi chưa kiểm tra nó, vì tôi đã sử dụng nó hơi khác. Các ý kiến ​​nên giải thích mọi thứ.

Đọc tệp CSV trong PHPhow to upload and read csv file using PHP code. CSV is a comma-separated value which commonly used to store data like Excel.

PHP có hàm sẵn fgetcsv () phân tích một dòng từ tệp CSV mở.

Cú pháp: FGETCSV (tệp, độ dài, dấu phân cách, vỏ bọc)fgetcsv() which parse a line from an open CSV file.

Ở đây tệp và độ dài được yêu cầu tham số và hai tệp còn lại là tùy chọn. Độ dài chỉ định độ dài tối đa của dòng. Tham số phân tách Sử dụng làm phân tách tệp như (,). fgetcsv (file,length,separator,enclosure)

Tải lên tệp CSV trong PHP:

Để tải lên thẻ CSV, sử dụng thẻ HTML đầu vào dưới dạng loại Tệp Tệp giá trị. Sử dụng mã HTML bên dưới để đạt được điều này:

Tải lên tệp CSV sản phẩm tại đâyupload CSV file use input html tag as type “file” value. use below HTML code to achieve this:

PHP Đọc mã tệp CSV:form enctype='multipart/form-data'action=''method='post'>

Tải lên tệp CSV sản phẩm tại đâylabel>Upload Product CSV file Here</label>

PHP Đọc mã tệp CSV:input size='50'type='file'name='filename'>

PHP Đọc mã tệp CSV:/br>

PHP Đọc mã tệp CSV:input type='submit'name='submit'value='Upload Products'>

PHP Đọc mã tệp CSV:/form>

Hãy giả sử chúng ta có thể tải lên và đọc tệp CSV trên cùng một trang tệp PHP. Sau khi gửi tệp CSV tải lên, hãy nhận bài đăng biểu mẫu và sử dụng chức năng FOPEN và FGETSCV để đọc tệp CSV. Sử dụng bên dưới mã tệp CSV Php Parse:

{ upload and read CSV file on the same PHP file page. After submitting the upload CSV file get the form post and use fopen and fgetscv function to read CSV file. Use below PHP parse CSV file code:

if(isset($_POST['submit']))(isset($_POST['submit']))

}

$handle=fopen($_FILES['filename']['tmp_name'],"r");handle= fopen($_FILES['filename']['tmp_name'],"r");

$headers=fgetcsv($handle,1000,",");headers=fgetcsv($handle,1000, ",");

while(($data=fgetcsv($handle,1000,","))!==FALSE)(($data=fgetcsv($handle,1000,","))!==FALSE)

}

$data[0];data[0];

$data[1];data[1];

Trong mã này đọc mã tệp CSV, mỗi giá trị ô sẽ nhận được trong biến mảng dữ liệu $. Bạn có thể phân tích mảng này để có được giá trị tách biệt. Rằng nó, rất dễ dàng để thực hiện chức năng này.

fclose($handle);($handle);

Trong mã này đọc mã tệp CSV, mỗi giá trị ô sẽ nhận được trong biến mảng dữ liệu $. Bạn có thể phân tích mảng này để có được giá trị tách biệt. Rằng nó, rất dễ dàng để thực hiện chức năng này.

Bài viết được đề xuất cho bạn$data array variable. You can parse this array to get separated value. That’s it, very easy to implement this functionality.

Cách chuyển đổi HTML thành tài liệu PDF trong PHP bằng FPDF

  • Quầy khách truy cập trong PHP cho trang web
  • Nhiều tính năng xếp hạng sao trên một trang trong PHP, MySQL và Ajax
  • Về Harish

Tôi là nhà phát triển web chuyên nghiệp và blogger. Sử dụng blog này để chia sẻ API riêng và kinh nghiệm phát triển web khác với bạn. Tôi chấp nhận công việc được trả lương. Viết cho tôi tại -

Xem tất cả các bài viết của Harish

Mục đích của việc viết bài đăng này để hiển thị một ví dụ về & nbsp; Cách tải lên và đọc tệp CSV bằng mã PHP. CSV là một giá trị được phân tách bằng dấu phẩy thường được sử dụng để lưu trữ dữ liệu như Excel.