Đị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 trongoldname
phải khớp với wrapper được sử dụng trongnewname
.$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.
- copy () – Sao chép tệp
- unlink () – Xóa tệp
- move_uploaded_file () – Di chuyển tệp đã tải lên đến vị trí mới
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
Nó trả về true. Nó không được ghi lại.
rename('/foo/bar','/foo/bar');
?>
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