Tìm hiểu về file_put_contents trong php

Hàm file_put_contents được biết đến là một cơ sở tài liệu quan trọng trong giới công nghệ tiên tiến. Lý do vì sao nó lại trở nên thiết yếu như vậy, hãy cùng nhau tìm hiểu thêm bài viết dưới đây .

file_put_contents trong php có mục đích dùng để ghi lại dữ liệu trong một file, vậy nó có giá trị như thế nào?

1. Định nghĩa và cú pháp file_put_contents trong php

Nhiệm vụ của file_put_contents trong php là dùng để ghi tài liệu vào một thư mục nào đó. Có hai trường hợp nếu filename này không sống sót thì file mới được tạo ra, còn ngược lại thì file sẽ ghi đè .

Hàm này có cấu trúc tương tự như fopen(), fwrite() và fclose(). Mục đích đều truyền dữ liệu vào một file. 

file_put_contents trong php

Tuy nhiên trong trường hợp FILE_APPEND flags được sử dụng thì file không hề ghi đè được .
file_put_contents trong php có cú pháp khá đơn thuần :
file_put_contents ( string USD filename, mixed USD data [, int USD flags = 0 [, resource USD context ] ] ) : int
Trong đó :

  • USD filename là đường tới file
  • USD data là nội dung
  • USD flag chỉ tham số có chứa những giá trị sau :

FILE_USE_INCLUDE_PATH : Chứa trách nhiệm tìm kiếm USD filename và đa số hàm này sẽ được tìm trong include directory .
FILE_APPEND : USD data sẽ không ghi đè trong trường hợp file đã sống sót và sẽ được liên kết ở file cuối .
LOCK_Ex : flock ( ) sẽ xảy ra giữa fopen ( ) và fwrite ( ). Đây được coi là một khoá duy nhất trên tệp khi bạn khởi đầu viết .

  • USD context : Đây được biết đến là một context hợp lệ khi được tăng trưởng bởi stream_context_create ( ) .

Giá trị trả về
Số lượng byte sẽ được trả về khi tới file, tuy nhiên nó cũng hoàn toàn có thể trả về Boolean FALSE. Bạn cần sử dụng phương pháp = = = để xem xét giá trị trả về của hàm này .
Errors : Nếu không tìm thấy filename hoặc maxlength nó sẽ xảy ra lỗi E_WARNING. Đây là lỗi khá phổ cập mà nhiều người gặp phải. Bạn sẽ không tìm thấy filename nếu giá trị nhỏ hơn 0 .
Ví dụ :
Với giá trị 1 khi dùng code

USD file = ‘ people.txt ’ ;
/ / Mở tệp để lấy nội dung hiện có
USD current = file_get_contents ( USD file ) ;
/ / Thêm nội dung mới vào file .
USD current. = “ John Smith \ n ” ;
/ / Viết thêm nội dung vào file .
file_put_contents ( USD file, USD current ) ;
? >
Với giá trị 2 khi dùng flash

USD file = ‘ people.txt ’ ;
/ / The new person to add to the file
USD person = “ John Smith \ n ” ;
/ / Viết nội dung vào một tập tin ,

//sử dụng cờ FILE_APPEND để nối nội dung vào cuối tệp

/ / và cờ LOCK_EX để ngăn ngừa bất kể ai khác ghi vào tệp cùng một lúc
file_put_contents ( USD file, USD person, FILE_APPEND | LOCK_EX ) ;
? >

2. Sự thay đổi của file_put_contents trong php

Hiện nay, php 5.1.0 được tương hỗ thêm LOCK_EX cùng tính năng truyền tải cho tham số tài liệu .

file_put_contents trong php

Các hàm tương quan đến php
gồm fopen ( ), fwrite ( ), file_get_contents ( ), stream_context_create ( ) .
Nếu đặt một tập tin trong thư mục không sống sót thì việc đặt nội dung của bạn sẽ không hề triển khai xong. Thay vào đó nó sẽ tạo ra mục :

function file_force_contents ( USD dir, USD contents ) {
USD parts = explode ( ‘ / ’, USD dir ) ;
USD file = array_pop ( USD parts ) ;
USD dir = ” ;
foreach ( USD parts as USD part )
if ( ! is_dir ( USD dir. = “ / USD part ” ) ) mkdir ( USD dir ) ;
file_put_contents ( “ USD dir / USD file ”, USD contents ) ;
}
? >
Khi bạn viết vào tệp nhiều lần thì nên dùng fopen và fwrite, fclose để triển khai nhanh gọn hơn. Sử dụng file_put_contents ( ) và fopen ( ) fwrite ( ) sẽ là một triệu lần .

Dưới đây là một bản đơn giản hoá của

function file_force_contents ( USD fullPath, USD contents, USD flags = 0 ) {
USD parts = explode ( ‘ / ’, USD fullPath ) ;
array_pop ( USD parts ) ;
USD dir = implode ( ‘ / ’, USD parts ) ;

if ( ! is_dir ( USD dir ) )
mkdir ( USD dir, 0777, true ) ;

file_put_contents ( USD fullPath, USD contents, USD flags ) ;
}

file_force_contents( ROOT.’/newpath/file.txt’, ‘message’, LOCK_EX );

Xem thêm: Strtotime Trong Php

? >
Php được coi là phiên bản nhị phân có tên binary-safe. URL hoàn toàn có thể dùng làm trên tệp nếu fopen wrappers được bật .

Hi vọng với chia sẻ của chúng tôi về file_put_contents trong php sẽ giúp bạn hiểu rõ hơn về nội dung của các hàm. Cảm ơn đã theo dõi và chúc các bạn mạnh khỏe.