PYTHON file_put_contents

is this article helpful?
|
Python replacement for PHP's file_put_contents [ edit | history ]
# Python 2.5 and above:
with open(filename, 'w') as f:
    f.write(data)

# All versions of Python:
f = open(filename, 'w')
f.write(data)
f.close()

PHP file_put_contents

PHP original manual for file_put_contents [ show | php.net ]

file_put_contents

(PHP 5)

file_put_contentsWrite a string to a file

Description

int file_put_contents ( string $filename , mixed $data [, int $flags= 0 [, resource $context ]] )

This function is identical to calling fopen(), fwrite() and fclose() successively to write data to a file.

If filename does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND flags is set.

Parameters

filename

Path to the file where to write the data.

data

The data to write. Can be either a string, an array or a stream resource (explained above).

If data is a stream resource, the remaining buffer of that stream will be copied to the specified file. This is similar with using stream_copy_to_stream().

You can also specify the data parameter as a single dimension array. This is equivalent to file_put_contents($filename, implode('', $array)).

flags

The value of flags can be any combination of the following flags (with some restrictions), joined with the binary OR (|) operator.

Available flags
Flag Description
FILE_USE_INCLUDE_PATH Search for filename in the include directory. See include_path for more information.
FILE_APPEND If file filename already exists, append the data to the file instead of overwriting it.
LOCK_EX Acquire an exclusive lock on the file while proceeding to the writing.
FILE_TEXT data is written in text mode. If unicode semantics are enabled, the default encoding is UTF-8. You can specify a different encoding by creating a custom context or by using the stream_default_encoding() to change the default. This flag cannot be used with FILE_BINARY. This flag is only available since PHP 6.
FILE_BINARY data will be written in binary mode. This is the default setting and cannot be used with FILE_TEXT. This flag is only available since PHP 6.

context

A valid context resource created with stream_context_create().

Return Values

The function returns the number of bytes that were written to the file, or FALSE on failure.

Examples

Example #1 Simple usage example

<?php
$file 
'people.txt';
// Open the file to get existing content
$current file_get_contents($file);
// Append a new person to the file
$current .= "John Smith\n";
// Write the contents back to the file
file_put_contents($file$current);
?>

Example #2 Using flags

<?php
$file 
'people.txt';
// The new person to add to the file
$person "John Smith\n";
// Write the contents to the file, 
// using the FILE_APPEND flag to append the content to the end of the file
// and the LOCK_EX flag to prevent anyone else writing to the file at the same time
file_put_contents($file$personFILE_APPEND LOCK_EX);
?>

Example #3 Using stream contexts

<?php
// Create a stream
$opts = array(
  
'http'=>array(
    
'method'=>"GET",
    
'header'=>"Accept-language: en\r\n" .
              
"Cookie: foo=bar\r\n"
  
)
);

$context stream_context_create($opts);

$person "John Smith\n";

// Add content to the file using the HTTP headers set above
file_put_contents('people.txt'$personNULL$context);
?>

Changelog

Version Description
5.0.0 Added context support
5.1.0 Added support for LOCK_EX and the ability to pass a stream resource to the data parameter
6.0.0 Added support for the FILE_TEXT and FILE_BINARY flags

Notes

Note: This function is binary-safe.

Tip

A URL can be used as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename and List of Supported Protocols/Wrappers for a list of supported URL protocols.

See Also