Hàm rename() trong PHP

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

Định nghĩa.

Hàm rename() sẽ đổi tên file hoặc thư mục truyền vào. Nếu tên file mới đã tồn tại, nó sẽ ghi đè nội dung lên file đó. Nó cũng sẽ di chuyển file đến thư mục khác nếu tên file mới yêu cầu điều đó. Trong trường hợp đổi tên thư mục, nếu tên mới đã tồn tại, hàm sẽ cảnh báo tới người dùng.

Cú pháp.

Cú pháp:

rename ( string $oldname , string $newname [, resource $context ] ) : bool

Trong đó.

  • $filename là đường dẫn tới file, thư mục cần đổi tên. – Ghi chú: wrapper  được sử dụng trong oldname   phải khớp với wrapper  được sử dụng trong newname.
  • $newname là tên mới của file, thư mục. $newname thực chất cũng phải là một đường dẫn.

Giá trị trả về.

  • Hàm sẽ trả về True nếu việc đổi tên thành công, ngược lại hàm sẽ trả về False.

Changelog.

  • 5.3.1 rename () hiện có thể đổi tên tệp trên các ổ đĩa trong Windows.

Ví dụ.

Ví dụ # 1.

code.

<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>

Hàm liên quan.

Thông tin thêm.

  • Điều đó không đổi tên tệp trong thư mục, như bạn có thể giả định, thay vào đó, nó di chuyển tệp đến bất kỳ thư mục làm việc PHP nào … Rất có thể bạn sẽ không tìm thấy nó trong cây FTP của mình. Thay vào đó, hãy sử dụng như sau:
    <?php

    rename 
    ("/folder/file.ext""newfile.ext");
    rename ("/folder/file.ext""/folder/newfile.ext");

    ?>
  • Trên thực tế, tôi khá chắc chắn rằng đổi tên tuân theo quy ước của * nix rename (2) trong việc ghi đè đích nếu nó tồn tại nguyên tử (có nghĩa là không có quá trình nào khác sẽ thấy đích ngừng tồn tại, ngay cả trong giây lát). Điều này rất hữu ích vì nó cho phép bạn xây dựng một tệp dưới dạng tệp tạm thời, sau đó đổi tên nó thành nơi bạn muốn và không ai nhìn thấy tệp khi nó hoàn thành một nửa.
    Có thể đổi tên ($old, $new) với một tên mới hiện có là do vấn đề về quyền. Tôi cá rằng các vấn đề khác mà bạn gặp phải là kết quả của việc không gọi clerstatcache (), điều này có thể khiến PHP hoạt động giống như một tệp tồn tại mặc dù nó đã bị xóa.
  • Nếu tình cờ bạn nhận được thứ gì đó tương đương với điều này:
    <?php
    rename
    ('/foo/bar','/foo/bar');
    ?>
    Nó trả về true. Nó không được ghi lại.

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