Hướng dẫn dùng fileget trong PHP

- Hàm file_get_contents[] dùng để lấy nội dung của một tập tin.

- Cú pháp:

Nội dung chính

  • Định Nghĩa.
  • Trong đó.
  • Giá trị trả về.
  • Errors/Exceptions.
  • ví dụ 1.
  • Ví dụ 2 Tìm kiếm trong include_path.
  • Ví dụ 3 Đọc một phần của tệp.
  • Ví dụ 4 sử dụng stream contexts.
  • Sự thay đổi qua các phiên bản.
  • Hàm liên quan.
  • Thông tin thêm.

file_get_contents[đường dẫn đến tập tin mà bạn muốn lấy nội dung]

- Tôi có một tập tin myCode_01.html nằm ở đường dẫn //webcoban.vn/file/myCode_01.html với nội dung như sau:


    
        Lap Trinh Web
    
    
        

Tai lieu huong dan hoc Lap Trinh Web

HTML & CSS

Ngon ngu lap trinh PHP

- Để lấy nội dung của tập tin myCode_01.html thì tôi sử dụng đoạn mã sau:

- Khi đó, biến $text sẽ có giá trị là chuỗi:


    
        Lap Trinh Web
    
    
        

Tai lieu huong dan hoc Lap Trinh Web

HTML & CSS

Ngon ngu lap trinh PHP

- Ví dụ phía trên là chúng ta lấy toàn bộ nội dung của tập tin, để lấy một phần nội dung của tập tin thì chúng ta sử dụng cú pháp như sau:

file_get_contents[đường dẫn đến tập tin mà bạn muốn lấy nội dung, 0, NULL, start, length]

- Trong đó:

Tham sốYêu cầuMô tả
start Không bắt buộc

- Chỉ định vị trí mà bạn muốn bắt đầu lấy.

length Không bắt buộc

- Chỉ định số lượng byte mà bạn muốn lấy.

- Biến $text sẽ có giá trị là chuỗi:

- Biến $text sẽ có giá trị là chuỗi:


    
        Lap Trin

- Biến $text sẽ có giá trị là chuỗi:

ml>
    
        Lap Trin

File_get_contents là một trong những hàm thường gặp khi làm việc với ngôn ngữ PHP. Để hiểu và sử dụng thành thạo bạn hãy xem các ví dụ cụ thể sau.

Định nghĩa

Hàm file_get_contents[] được sử dụng để đọc nội dung của file thành một chuỗi.

Cú pháp:

file_get_contents[path, include_path, context, start, max_length]

  • path: Cần thiết. Chỉ định đường dẫn đến tệp để đọc
  • include_path: Không bắt buộc. Đặt tham số này thành ‘1’ nếu bạn cũng muốn tìm kiếm tệp trong include_path [trong php.ini]
  • context: Không bắt buộc. Chỉ định ngữ cảnh của xử lý tệp. Ngữ cảnh là một tập hợp các tùy chọn có thể sửa đổi hành vi của một luồng. Có thể được bỏ qua bằng cách sử dụng NULL.
  • start: Không bắt buộc. Chỉ định vị trí trong tệp để bắt đầu đọc. Giá trị âm tính từ cuối tệp
  • max_length: Không bắt buộc. Chỉ định độ dài tối đa của dữ liệu được đọc. Mặc định được đọc thành EOF

Để hiểu rõ hơn hãy đi vào ví dụ sau:

Khi chạy file php đó bạn sẽ lấy được nội dung của toàn bộ website.

Bây giờ mình sẽ xuất ra chuỗi đó thành mảng để đọc thông tin dễ dàng hơn.

  • Định Nghĩa.
  • Cú pháp.
    • Cú pháp:
    • Trong đó.
    • Giá trị trả về.
    • Errors/Exceptions.
  • Ví dụ.
    • ví dụ 1.
      • code:
    • Ví dụ 2 Tìm kiếm trong include_path.
    • Ví dụ 3 Đọc một phần của tệp.
    • Ví dụ 4 sử dụng stream contexts.
  • Sự thay đổi qua các phiên bản.
  • Ghi chú.
  • Hàm liên quan.
  • Thông tin thêm.

Định Nghĩa.

Hàm file_get_contents[] sẽ đọc nội dung của file thành một chuỗi.

Cú pháp.

Cú pháp:

file_get_contents [ string $filename [, bool $use_include_path = FALSE 
[, resource $context [, int $offset = 0 [, int $maxlen ]]]] ] : string

Trong đó.

  • $filename là đường dẫn tới file cần đọc.
  • $use_include_path là tham số, quy định có sử dụng hằng số FILE_USE_INCLUDE_PATH làm môi trường tìm kiếm file hay không. Từ PHP 5.0.0 đến nay, $use_include_path sẽ mang hai giá trị FILE_USE_INCLUDE_PATH  hoặc NULL.
  • $context  là kết quả trả về của hàm stream_context_create[], nếu bạn không cần sử dụng ngữ cảnh tùy chỉnh có thể bỏ qua tham số này.
  • $offset là vị trí bắt đầu đọc, nếu mang giá trị âm, việc đọc sẽ bắt đầu từ cuối file. nếu không được truyền vào, việc đọc sẽ bắt đầu từ đầu file.
  • $maxlen là chiều dài tối đa mà hàm sẽ đọc. Nếu không truyền hàm sẽ đọc đến cuối file.

Giá trị trả về.

  • Hàm sẽ trả về một chuỗi là dữ liệu đọc được từ file. Nếu không thành công hàm trả về false.
Lưu ý: 
Hàm này có thể trả về Boolean FALSE, nhưng cũng có thể trả về giá trị không Boolean ước tính cho FALSE.
Vui lòng đọc phần trên Booleans để biết thêm thông tin. Sử dụng toán tử === để kiểm tra giá trị 
trả về của hàm này.

Errors/Exceptions.

  • Một lỗi mức E_WARNING được tạo nếu không thể tìm thấy filename, maxlength nhỏ hơn 0 hoặc nếu tìm kiếm  offset chỉ định trong luồng không thành công.

Ví dụ.

ví dụ 1.

code:

Ví dụ 2 Tìm kiếm trong include_path.


Ví dụ 3 Đọc một phần của tệp.

// Kết quả string[14]:"ll sdfdfac"

Ví dụ 4 sử dụng stream contexts.

Sự thay đổi qua các phiên bản.

  • PHP 7.1.0 thì hỗ trợ cho các offsets âm.
  • PHP 5.1.0 đã thêm các tham số offset và maxlen.

Ghi chú.

  • Hàm này là kiểu binary-safe.[Nhị phân].
  • Một URL có thể được sử dụng làm tên tệp với chức năng này nếu trình bao bọc fopen đã được bật. Xem fopen [] để biết thêm chi tiết về cách chỉ định tên tệp. Xem các Giao thức và Trình bao bọc được Hỗ trợ để biết các liên kết đến thông tin về khả năng của các trình bao bọc khác nhau, ghi chú về cách sử dụng và thông tin về bất kỳ biến được xác định trước nào mà chúng có thể cung cấp
  • Cảnh báo: Khi sử dụng SSL, Microsoft IIS sẽ vi phạm giao thức bằng cách đóng kết nối mà không gửi chỉ báo close_notify. PHP sẽ báo cáo đây là “SSL: Lỗi giao thức nghiêm trọng” khi bạn đến cuối dữ liệu. Để giải quyết vấn đề này, giá trị của error_Vporting nên được hạ xuống mức không bao gồm các cảnh báo. PHP có thể phát hiện phần mềm máy chủ IIS bị lỗi khi bạn mở luồng bằng cách sử dụng trình bao bọc // và sẽ chặn cảnh báo. Khi sử dụng fsockopen [] để tạo ổ cắm ssl: //, nhà phát triển có trách nhiệm phát hiện và triệt tiêu cảnh báo này.

Hàm liên quan.

  • file[] – Đọc toàn bộ tập tin thành một mảng
  • fgets[] – Lấy dòng từ con trỏ tệp
  • fread[] – Đọc file Binary-safe 
  • readfile[] – Xuất ra một tập tin
  • file_put_contents[] – Ghi dữ liệu vào một file
  • stream_get_contents[] – Reads remainder of a stream into a string
  • stream_context_create[] – Tạo một stream context
  • $http_response_header

Thông tin thêm.

  • Cách đặt thời gian chờ đúng cách mà không làm hỏng các giá trị int
  • file_get_contents có thể thực hiện POST.
    $opts = array['http' =>
      array[
        'method'  => 'POST',
        'header'  => "Content-Type: text/xml\r\n".
          "Authorization: Basic ".base64_encode["$https_user:$https_password"]."\r\n",
        'content' => $body,
        'timeout' => 60
      ]
    ];
                           
    $context  = stream_context_create[$opts];
    $url = '//'.$https_server;
    $result = file_get_contents[$url, false, $context, -1, 40000];

Các bạn có thể xem chi tiết hơn trên php.net.Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm file_get_contents[] trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com

Chủ Đề