Hàm copy() trong PHP
Hàm copy
trong PHP được dùng để sao chép một tập tin trên cùng hệ thống hoặc từ một địa chỉ remote (ví dụ một tập tin từ trên internet) về máy.
copy("./test.txt", "./test_copy.txt");
Cú Pháp
Hàm copy
trong PHP có cú pháp như sau:
copy ($from , $to [, $ctx])
Trong đó:
- Tham số
$from
: Là địa chỉ đường dẫn tới tập tin được dùng để sao chép. - Tham số
$to
: Là địa chỉ đường dẫn tới tập tin sao chép. - Tham số
$ctx
(tuỳ chọn): Là một stream context được tạo ra nhờ sử dụng hàmstream_context_create()
Ví Dụ
Ví dụ sau sẽ sao chép nội dung của tập tin test.txt
ở địa chỉ thư mục /var/ww/
sang tập tin test_copy.txt
ở cùng thư mục:
copy("/var/www/test.txt", "/var/www/test_copy.txt");
Lưu ý: Nếu tập tin test_copy.txt
đã tồn tại ở thư mục /var/www/
thì PHP sẽ thực hiện việc chép đè nghĩa là nội dung của tập tin ban đầu sẽ bị thay đổi hoàn toàn bằng tập tin mới.
Ví dụ sau sẽ sao chép nội dung của tập tin test.txt
ở địa chỉ thư mục hiện tại chứa tập tin PHP đang được thực thin sang tập tin test_copy.txt
ở cùng thư mục:
copy("./test.txt", "./test_copy.txt");
Ví dụ sau sử dụng hàm file_exists() để kiểm tra sự tồn tại của tập tin test_copy.txt
trên máy trước khi thực hiện việc sao chép:
if (!file_exists("./test_copy.txt")) {
copy("./test.txt", "./test_copy.txt");
}
Giá Trị Trả Về
Hàm copy()
có giá trị trả về là TRUE
trong trường hợp sao chép thành công và FALSE
trong trường hợp việc sao chép bị thất bại.
Một số nguyên nhân dẫn tới việc sao chép thất bại như:
- Tập tin gốc dùng để sao chép không tồn tại.
- Người dùng chạy mã lệnh PHP không có quyền đọc tập tin gốc dùng để sao chép hoặc
- Người dùng chạy mã lệnh PHP không có quyền ghi lên tập tin sao chép hoặc quyền ghi lên thư mục dùng để chứa tập tin sao chép.
- Tập tin có dung lượng quá lớn khiến tràn bộ nhớ...