Permalink
Browse files

Polish docs for the File and Form helpers

  • Loading branch information...
1 parent 48a8675 commit f6d9a7cff222f868312a6d4ae4e4050616acb9a7 @narfbg narfbg committed Nov 8, 2012
Showing with 480 additions and 226 deletions.
  1. +17 −17 system/helpers/file_helper.php
  2. +128 −50 user_guide_src/source/helpers/file_helper.rst
  3. +335 −159 user_guide_src/source/helpers/form_helper.rst
@@ -66,12 +66,12 @@ function read_file($file)
* Writes data to the file specified in the path.
* Creates a new file if non-existent.
*
- * @param string path to file
- * @param string file data
- * @param int
+ * @param string $path File path
+ * @param string $data Data to write
+ * @param string $mode fopen() mode (default: 'wb')
* @return bool
*/
- function write_file($path, $data, $mode = FOPEN_WRITE_CREATE_DESTRUCTIVE)
+ function write_file($path, $data, $mode = 'wb')
{
if ( ! $fp = @fopen($path, $mode))
{
@@ -99,13 +99,13 @@ function write_file($path, $data, $mode = FOPEN_WRITE_CREATE_DESTRUCTIVE)
* If the second parameter is set to TRUE, any directories contained
* within the supplied base directory will be nuked as well.
*
- * @param string path to file
- * @param bool whether to delete any directories found in the path
- * @param int
- * @param bool whether to skip deleting .htaccess and index page files
+ * @param string $path File path
+ * @param bool $del_dir Whether to delete any directories found in the path
+ * @param bool $htdocs Whether to skip deleting .htaccess and index page files
+ * @param int $_level Current directory depth level (default: 0; internal use only)
* @return bool
*/
- function delete_files($path, $del_dir = FALSE, $level = 0, $htdocs = FALSE)
+ function delete_files($path, $del_dir = FALSE, $htdocs = FALSE, $_level = 0)
{
// Trim the trailing slash
$path = rtrim($path, '/\\');
@@ -121,7 +121,7 @@ function delete_files($path, $del_dir = FALSE, $level = 0, $htdocs = FALSE)
{
if (is_dir($path.DIRECTORY_SEPARATOR.$filename) && $filename[0] !== '.')
{
- delete_files($path.DIRECTORY_SEPARATOR.$filename, $del_dir, $level + 1, $htdocs);
+ delete_files($path.DIRECTORY_SEPARATOR.$filename, $del_dir, $htdocs, $_level + 1);
}
elseif ($htdocs !== TRUE OR ! preg_match('/^(\.htaccess|index\.(html|htm|php)|web\.config)$/i', $filename))
{
@@ -131,7 +131,7 @@ function delete_files($path, $del_dir = FALSE, $level = 0, $htdocs = FALSE)
}
@closedir($current_dir);
- if ($del_dir === TRUE && $level > 0)
+ if ($del_dir === TRUE && $_level > 0)
{
return @rmdir($path);
}
@@ -319,12 +319,12 @@ function get_file_info($file, $returned_values = array('name', 'server_path', 's
* Note: this is NOT an accurate way of determining file mime types, and is here strictly as a convenience
* It should NOT be trusted, and should certainly NOT be used for security
*
- * @param string path to file
- * @return mixed
+ * @param string $filename File name
+ * @return string
*/
- function get_mime_by_extension($file)
+ function get_mime_by_extension($filename)
{
- $extension = strtolower(substr(strrchr($file, '.'), 1));
+ $extension = strtolower(substr(strrchr($filename, '.'), 1));
static $mimes;
@@ -359,7 +359,7 @@ function get_mime_by_extension($file)
* Takes a numeric value representing a file's permissions and returns
* standard symbolic notation representing that value
*
- * @param int
+ * @param int $perms Permissions
* @return string
*/
function symbolic_permissions($perms)
@@ -426,7 +426,7 @@ function symbolic_permissions($perms)
* Takes a numeric value representing a file's permissions and returns
* a three character string representing the file's octal permissions
*
- * @param int
+ * @param int $perms Permissions
* @return string
*/
function octal_permissions($perms)
@@ -9,20 +9,23 @@ The File Helper file contains functions that assist in working with files.
Loading this Helper
===================
-This helper is loaded using the following code
-
-::
+This helper is loaded using the following code::
$this->load->helper('file');
The following functions are available:
-read_file('path')
-=================
+read_file()
+===========
-Returns the data contained in the file specified in the path. Example
+.. php:function:: read_file($file)
-::
+ :param string $file: File path
+ :returns: string or FALSE on failure
+
+Returns the data contained in the file specified in the path.
+
+Example::
$string = read_file('./path/to/file.php');
@@ -35,14 +38,24 @@ The path can be a relative or full server path. Returns FALSE (boolean) on failu
.. note:: This function is DEPRECATED. Use the native ``file_get_contents()``
instead.
-If your server is running an `open_basedir` restriction this function might not work if you are trying to access a file above the calling script.
+.. important:: If your server is running an **open_basedir** restriction this
+ function might not work if you are trying to access a file above the
+ calling script.
-write_file('path', $data)
-=========================
+write_file()
+============
-Writes data to the file specified in the path. If the file does not exist the function will create it. Example
+.. php:function:: write_file($path, $data, $mode = 'wb')
-::
+ :param string $path: File path
+ :param string $data: Data to write to file
+ :param string $mode: ``fopen()`` mode
+ :returns: bool
+
+Writes data to the file specified in the path. If the file does not exist then the
+function will create it.
+
+Example::
$data = 'Some file data';
if ( ! write_file('./path/to/file.php', $data))
@@ -54,85 +67,150 @@ Writes data to the file specified in the path. If the file does not exist the fu
echo 'File written!';
}
-You can optionally set the write mode via the third parameter
-
-::
+You can optionally set the write mode via the third parameter::
write_file('./path/to/file.php', $data, 'r+');
-The default mode is wb. Please see the `PHP user guide <http://php.net/fopen>`_ for mode options.
+The default mode is 'wb'. Please see the `PHP user guide <http://php.net/fopen>`_
+for mode options.
-Note: In order for this function to write data to a file its file permissions must be set such that it is writable (666, 777, etc.). If the file does not already exist, the directory containing it must be writable.
+.. note: In order for this function to write data to a file, its permissions must
+ be set such that it is writable (666, 777, etc.). If the file does not
+ already exist, the directory containing it must be writable.
.. note:: The path is relative to your main site index.php file, NOT your
controller or view files. CodeIgniter uses a front controller so paths
are always relative to the main site index.
-delete_files('path')
-====================
+.. note:: This function acquires an exclusive lock on the file while writing to it.
-Deletes ALL files contained in the supplied path. Example
+delete_files()
+==============
-::
+.. php:function:: delete_files($path, $del_dir = FALSE, $htdocs = FALSE)
+
+ :param string $path: Directory path
+ :param bool $del_dir: Whether to also delete directories
+ :param bool $htdocs: Whether to skip deleting .htaccess and index page files
+ :returns: bool
+
+Deletes ALL files contained in the supplied path.
+
+Example::
delete_files('./path/to/directory/');
-If the second parameter is set to true, any directories contained within the supplied root path will be deleted as well. Example
+If the second parameter is set to TRUE, any directories contained within the supplied
+root path will be deleted as well.
-::
+Example::
delete_files('./path/to/directory/', TRUE);
.. note:: The files must be writable or owned by the system in order to be deleted.
-get_filenames('path/to/directory/')
-===================================
+get_filenames()
+===============
+
+.. php:function:: get_filenames($source_dir, $include_path = FALSE)
+
+ :param string $source_dir: Directory path
+ :param bool $include_path: Whether to include the path as part of the filenames
+ :returns: array
-Takes a server path as input and returns an array containing the names of all files contained within it. The file path can optionally be added to the file names by setting the second parameter to TRUE.
+Takes a server path as input and returns an array containing the names of all files
+contained within it. The file path can optionally be added to the file names by setting
+the second parameter to TRUE.
-get_dir_file_info('path/to/directory/', $top_level_only = TRUE)
-===============================================================
+Example::
-Reads the specified directory and builds an array containing the filenames, filesize, dates, and permissions. Sub-folders contained within the specified path are only read if forced by sending the second parameter, $top_level_only to FALSE, as this can be an intensive operation.
+ $controllers = get_filenames(APPPATH.'controllers/');
-get_file_info('path/to/file', $file_information)
-================================================
+get_dir_file_info()
+===================
+
+.. php:function:: get_dir_file_info($source_dir, $top_level_only)
+
+ :param string $source_dir: Directory path
+ :param bool $top_level_only: Whether to look only at the specified directory
+ (excluding sub-directories)
+ :returns: array
+
+Reads the specified directory and builds an array containing the filenames, filesize,
+dates, and permissions. Sub-folders contained within the specified path are only read
+if forced by sending the second parameter to FALSE, as this can be an intensive
+operation.
+
+Example::
+
+ $models_info = get_dir_file_info(APPPATH.'models/');
+
+get_file_info()
+===============
+
+.. php:function: get_file_info($file, $returned_values = array('name', 'server_path', 'size', 'date'))
+
+ :param string $file: File path
+ :param array $returned_values: What type of info to return
+ :returns: array or FALSE on failure
-Given a file and path, returns the name, path, size, date modified. Second parameter allows you to explicitly declare what information you want returned; options are: `name`, `server_path`, `size`, `date`, `readable`, `writable`, `executable`, `fileperms`. Returns FALSE if the file cannot be found.
+Given a file and path, returns (optionally) the *name*, *path*, *size* and *date modified*
+information attributes for a file. Second parameter allows you to explicitly declare what
+information you want returned.
-.. note:: The "writable" uses the PHP function is_writable() which is known
- to have issues on the IIS webserver. Consider using fileperms instead,
- which returns information from PHP's fileperms() function.
+Valid ``$returned_values`` options are: `name`, `size`, `date`, `readable`, `writeable`,
+`executable` and `fileperms`.
-get_mime_by_extension('file')
-=============================
+.. note:: The *writable* attribute is checked via PHP's ``is_writeable()`` function, which
+ known to have issues on the IIS webserver. Consider using *fileperms* instead,
+ which returns information from PHP's ``fileperms()`` function.
-Translates a file extension into a mime type based on config/mimes.php. Returns FALSE if it can't determine the type, or open the mime config file.
+get_mime_by_extension()
+=======================
+
+.. php:function:: get_mime_by_extension($filename)
+
+ :param string $filename: File name
+ :returns: string or FALSE on failure
+
+Translates a filename extension into a MIME type based on *config/mimes.php*.
+Returns FALSE if it can't determine the type, or read the MIME config file.
::
- $file = "somefile.png";
- echo $file . ' is has a mime type of ' . get_mime_by_extension($file);
+ $file = 'somefile.png';
+ echo $file.' is has a mime type of '.get_mime_by_extension($file);
+
+.. note:: This is not an accurate way of determining file MIME types, and
+ is here strictly for convenience. It should not be used for security
+ purposes.
+symbolic_permissions()
+======================
-.. note:: This is not an accurate way of determining file mime types, and
- is here strictly as a convenience. It should not be used for security.
+.. php:function:: symbolic_permissions($perms)
-symbolic_permissions($perms)
-============================
+ :param int $perms: Permissions
+ :returns: string
-Takes numeric permissions (such as is returned by `fileperms()` and returns standard symbolic notation of file permissions.
+Takes numeric permissions (such as is returned by ``fileperms()``) and returns
+standard symbolic notation of file permissions.
::
echo symbolic_permissions(fileperms('./index.php')); // -rw-r--r--
-octal_permissions($perms)
-=========================
+octal_permissions()
+===================
-Takes numeric permissions (such as is returned by fileperms() and returns a three character octal notation of file permissions.
+.. php:function:: octal_permissions($perms)
-::
+ :param int $perms: Permissions
+ :returns: string
- echo octal_permissions(fileperms('./index.php')); // 644
+Takes numeric permissions (such as is returned by ``fileperms()``) and returns
+a three character octal notation of file permissions.
+
+::
+ echo octal_permissions(fileperms('./index.php')); // 644
Oops, something went wrong.

0 comments on commit f6d9a7c

Please sign in to comment.