>백엔드 개발 >PHP 튜토리얼 >PHP의 file_put_contents

PHP의 file_put_contents

WBOY
WBOY원래의
2024-08-29 12:52:22904검색

file_put_contents는 지정된 데이터 문자열을 파일에 쓰는 PHP 함수입니다. 해당 파일이 존재하지 않는 경우 생성됩니다. 반대로, 파일이 존재하는 경우 지정된 데이터가 해당 내용을 덮어씁니다. 이 기능은 구현하기 쉽고 파일 이름과 데이터만 매개변수로 작성하면 됩니다. 또한 URL을 지정하거나 플래그를 사용하여 함수 동작을 수정하여 원격 파일에 데이터를 쓸 수 있습니다. file_put_contents는 양식 데이터 저장, 로그 파일 생성, 작성된 레코드 생성을 통한 디버깅 등 다양한 목적에 유용한 도구입니다.

PHP의 file_put_contents

광고 이 카테고리에서 인기 있는 강좌 콘텐츠 마케팅 숙달: 성공을 위한 전략 - 전문화 | 4개 코스 시리즈

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문 및 매개변수

file_put_contents 함수의 구문과 매개변수는 올바른 사용법과 동작에 매우 중요합니다. 구문은 함수의 구조와 필수 매개변수 순서를 정의합니다. 매개변수 자체를 사용하면 대상 파일의 지정, 기록할 데이터 및 함수 동작을 수정하는 옵션을 사용할 수 있습니다. file_put_contents 함수의 구문과 매개변수에 대한 명확한 이해는 함수를 정확하고 효과적으로 사용하는 데 중요합니다.

구문:

file_put_contents(filename, data, [flags, context]);

매개변수:

매개변수 설명
$filename(필수) “$filename”은 데이터가 기록되는 파일의 이름과 위치를 지정하는 file_put_contents 함수의 매개변수입니다. $filename 매개변수는 필수이며 데이터가 기록될 대상 파일을 지정합니다.
$data(필수) $data는 PHP에서 file_put_contents() 함수를 사용하여 파일에 기록될 내용을 보유하는 변수입니다. 문자열, 배열 또는 기타 PHP 데이터 유형일 수 있습니다. 데이터는 파일에 기록되기 전에 문자열로 변환됩니다. “$data” 매개변수에 전달된 데이터는 “$filename”에 지정된 파일에 기록됩니다.
$flags(선택 사항) $flags는 파일 쓰기 작업 수행 방법을 제어하기 위해 특정 플래그를 설정하는 PHP의 file_put_contents()에 대한 선택적 매개변수입니다. 파일 쓰기 측면에서 file_put_contents() 함수의 동작을 수정하는 데 사용할 수 있습니다. $flags 매개변수는 쓰기 모드를 제어하는 ​​값으로 하나 이상의 사전 정의된 상수를 사용합니다. 일반적으로 사용되는 상수 중 일부는 다음과 같습니다.

FILE_USE_INCLUDE_PATH – 이 플래그를 사용하면 include_path에서 파일을 검색할 수 있습니다. 현재 디렉터리에 파일이 없으면 포함된 경로를 검색합니다.

FILE_APPEND – 이 플래그는 파일을 추가 모드로 열고 파일 끝에 데이터를 씁니다. 파일이 없으면 생성됩니다.

LOCK_EX – 이 플래그를 사용하면 독점 쓰기 액세스를 위해 파일이 잠깁니다. 이는 잠금이 해제될 때까지 다른 프로세스가 파일에 쓸 수 없음을 의미합니다.

FILE_TEXT – 이 플래그는 파일 모드를 텍스트로 설정합니다. 텍스트 파일에 사용되며, 줄 끝은 시스템 기본값으로 변환됩니다.

FILE_BINARY – 이 플래그는 파일 모드를 바이너리로 설정합니다. 바이너리 파일에 사용되며 줄 끝은 변환되지 않습니다.

The default value of the $flags parameter in the file_put_contents function is 0.

$context (optional) The context parameter in the file_put_contents function in PHP allows the user to specify a set of options that modify the behavior of the function when it writes data to a file or a remote server. The context is specified as an associative array that defines options for a stream, such as headers to be sent along with a request, timeout values, encryption method, etc. It allows the user to control the way data is sent and received through a stream in PHP.
$mode (optional) The $mode parameter is an optional parameter and is not typically used in the file_put_contents function. $mode is a parameter in the file_put_contents function in PHP that specifies the access mode when opening the file. The value of $mode determines what kind of access the function has to the file, such as read-only or write-only access. By default, file_put_contents opens the file with write-only access. This means that the function can only write data to the file and cannot read the existing data in the file.

Examples

Here an array of data is converted to a JSON string and written to a remote URL using an HTTP POST request. The stream_context_create function is used to create a stream context resource that specifies the HTTP method, header information, and timeout for the request. The file_put_contents function is then used to send the JSON data to the specified URL using the specified context. The function then returns the number of bytes written to the file, or false if there is any error. The response is checked to determine if the data was sent successfully, and a message is displayed accordingly.

Example #1

Code:

<?php
$data = array("name" => "John Doe", "email" => "[email protected]", "phone" => "555-555-1212");
$json = json_encode($data);
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => "Content-Type: application/json\r\n".
"Accept: application/json\r\n".
"User-Agent: My PHP Script",
'content' => $json,
'timeout' => 60
)
));
$response = file_put_contents("https://www.example.com/api/create_user", $json, 0, $context);
if ($response === false) {
echo "Error: Could not send data to remote server.";
} else {
echo "Data successfully sent to remote server. Response: $response";
}
?>

Output:

The output in the above example would be a message indicating the success or failure of the data being sent to the remote server. If the data is sent successfully, the output would be:

PHP의 file_put_contents

If an error occurs, the output would be:

PHP의 file_put_contents

Example #2

Code:

<?php
$file = "https://cdn.educba.com/var/www/html/students.txt";
$data = "1, Alice, 23, History, 3.7\n2, Bob, 25, Mathematics, 3.9\n3, Charlie, 22, English, 3.5\n4, Dave, 24, Computer Science, 4.0\n";
// Writing data to the file
file_put_contents($file, $data);
// Check if the file was written successfully
if (file_exists($file)) {
echo "Data was successfully written to the file.";
} else {
echo "An error occurred while writing data to the file.";
}
?>

Output:

The output for the code would depend on the server’s response to the request. If the request was successful, the output would be:

PHP의 file_put_contents

If the request was unsuccessful, the output would be:

PHP의 file_put_contents

Conclusion

file_put_contents is a useful PHP function for writing data to a file. It has several parameters that allow you to control the behavior of the function, such as the file path, data to be written, and the mode in which the file is opened. With the help of the optional stream context, file_put_contents can even write data to remote servers. This function is a simple and efficient way to write data to a file, making it a popular choice among PHP developers.

Recommended Article

In this article, you learned about file_put_contents in PHP. To know more about the topic, you can refer to these articles.

  1. PHP 7 MySQL
  2. PHP 7 mysql_connect 
  3. PHP Timestamp
  4. PHP urlencode

위 내용은 PHP의 file_put_contents의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP의 Print_r()다음 기사:PHP의 Print_r()