Hàm touch() trong PHP

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

Định nghĩa.

Hàm touch() sẽ thiết lập thời gian truy cập và sửa đổi nội dung của file truyền vào. Nếu file chưa tồn tại, nó sẽ được khởi tạo mới.

Cú pháp.

Cú pháp:

touch ( string $filename [, int $time = time() [, int $atime ]] ) : bool

Trong đó.

  • $filename là đường dẫn tới file.
  • $time là thời gian muốn thiết lập, nếu không được truyền vào, hàm sẽ lấy thời gian hiện tại của hệ thống.

Giá trị trả về.

  • Hàm sẽ trả về True nếu thiết lập thành công, ngược lại hàm trả về False.

Changelog.

  • 5.3.0 Có thể thay đổi thời gian sửa đổi của một thư mục trong Windows.

Ghi chú.

  • Ghi chú: Lưu ý rằng độ phân giải thời gian có thể khác nhau từ hệ thống tệp này sang hệ thống tệp khác.
  • Cảnh báo Trước PHP 5.3.0, không thể thay đổi thời gian sửa đổi của thư mục có chức năng này trong Windows.

Ví dụ.

Ví dụ # 1.

code.

<?php
if (touch($filename)) {
    echo $filename . ' thời gian sửa đổi đã được thay đổi thành thời điểm hiện tại';
} else {
    echo 'Xin lỗi, không thể thay đổi thời gian sửa đổi của ' . $filename;
}
?>

Ví dụ # 2.

code.

<?php
// Đây là thời gian liên lạc, chúng tôi sẽ đặt nó thành một giờ trước đây.
$time = time() - 3600;

// Touch the file
if (!touch('some_file.txt', $time)) {
    echo 'Whoops, something went wrong...';
} else {
    echo 'Touched file with success';
}
?>

Thông tin thêm.

  • Lưu ý rằng khi PHP được gọi bởi f.e. apache hoặc nginx thay vì trực tiếp từ dòng lệnh, touch () sẽ không đặt trước vị trí của tập lệnh gọi, vì vậy tên tệp được cung cấp phải chứa một đường dẫn tuyệt đối. Với tập lệnh bắt đầu từ / home / user / www, điều này sẽ không chạm vào “/ home / user / www / somefile”:
    <?php
        touch'somefile' );
    ?>
    Nhưng:
    <?php
        touch( __DIR__ . '/somefile' );
    ?>
  • Để chạm vào tệp mà không phải là chủ sở hữu, nó dễ dàng hơn nhiều:
    <?php
    function touchFile($file) {
      fclose(fopen($file'a'));
    }
    ?>
  • Tôi đã cố gắng thiết lập thời gian tệp trong tương lai với touch () trên PHP5. Có vẻ như touch $ time có giới hạn trong tương lai khoảng 1000000 giây (11 ngày hoặc lâu hơn). Sau thời điểm này, nó sẽ trở lại $ time trước đó. Nó không có nhiều ý nghĩa nhưng tôi có thể giúp bạn tiết kiệm hàng giờ đồng hồ.
    $ time = time () + 1500000; 
    touch ($ cachedfile, $ time);

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