Hàm fstat() trong PHP

24/11/2020 - lượt xem
Chia sẻ
 
Rate this post

Định Nghĩa.

Hàm fstat() sẽ lấy thông tin của file truyền vào.

Cú pháp.

Cú pháp:

fstat ( resource $handle ) : array

Trong đó.

  • $handle là file đã được mở trước đó bằng hàm fopen().

Giá trị trả về.

  • Hàm sẽ trả về một mảng chứa thông tin của file truyền vào.

Ví dụ.

Ví dụ # 1 Một ví dụ đơn giản về fseek()

code:

<?php

// open a file
$fp = fopen("/etc/passwd", "r");

// gather statistics
$fstat = fstat($fp);

// close the file
fclose($fp);

// print only the associative part
print_r(array_slice($fstat, 13));

?>

Kết quả.

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Ghi chú.

  • Chức năng này sẽ không hoạt động trên các tệp từ xa (remote file) vì tệp cần kiểm tra phải có thể truy cập được thông qua hệ thống tệp của máy chủ

Thông tin thêm.

  • Hãy nhớ rằng atime sẽ không được cập nhật bằng cách truy cập đọc đơn giản vào tệp trừ khi bạn quan tâm đến điều đó trong các tham số gắn kết của hệ thống tệp của bạn. Thay vì atime, mtime sẽ được giao. Nhưng chỉ mtime sẽ được cập nhật, nếu nội dung của tập tin đã thay đổi. Do hành vi này, hãy cẩn thận trong Hệ thống phiên của bạn. Sử dụng session_start () sẽ không hiệu quả để giữ cho các phiên của bạn tồn tại. Bạn nên viết vào Phiên, e. g. : $_SESSION = time(); Điều đó lấy lại thời gian và thời gian của bạn, ngay cả khi tham số gắn cho atime được đặt thành “noatime” hoặc bị thiếu, phụ thuộc vào Hệ thống tệp được sử dụng.
  • Một cách tiếp cận ftp_get_contents () khác, sử dụng trình xử lý luồng ôn hòa. Trả về nội dung tệp của tệp từ xa dưới dạng chuỗi.
    <?php
    function ftp_get_contents ($conn_id, $remote_filename) {
        //Create temp handler:
        $tempHandle = fopen('php://temp', 'r+');
    
        //Get file from FTP assuming that it exists:
        ftp_fget($conn_id, $tempHandle, $remote_filename, FTP_ASCII, 0));
    
        //Getting detailed stats to check filesize:
        $fstats = fstat($tempHandle);
    
        return fread($tempHandle, $fstats['size']);
    }
    ?>

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 fstat() 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

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm