summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/libraries/ftp.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/libraries/ftp.rst')
-rw-r--r--user_guide_src/source/libraries/ftp.rst306
1 files changed, 0 insertions, 306 deletions
diff --git a/user_guide_src/source/libraries/ftp.rst b/user_guide_src/source/libraries/ftp.rst
deleted file mode 100644
index 2a015256d..000000000
--- a/user_guide_src/source/libraries/ftp.rst
+++ /dev/null
@@ -1,306 +0,0 @@
-#########
-FTP Class
-#########
-
-CodeIgniter's FTP Class permits files to be transferred to a remote
-server. Remote files can also be moved, renamed, and deleted. The FTP
-class also includes a "mirroring" function that permits an entire local
-directory to be recreated remotely via FTP.
-
-.. note:: SFTP and SSL FTP protocols are not supported, only standard
- FTP.
-
-.. contents::
- :local:
-
-.. raw:: html
-
- <div class="custom-index container"></div>
-
-**************************
-Working with the FTP Class
-**************************
-
-Initializing the Class
-======================
-
-Like most other classes in CodeIgniter, the FTP class is initialized in
-your controller using the $this->load->library function::
-
- $this->load->library('ftp');
-
-Once loaded, the FTP object will be available using: $this->ftp
-
-Usage Examples
-==============
-
-In this example a connection is opened to the FTP server, and a local
-file is read and uploaded in ASCII mode. The file permissions are set to
-755.
-::
-
- $this->load->library('ftp');
-
- $config['hostname'] = 'ftp.example.com';
- $config['username'] = 'your-username';
- $config['password'] = 'your-password';
- $config['debug'] = TRUE;
-
- $this->ftp->connect($config);
-
- $this->ftp->upload('/local/path/to/myfile.html', '/public_html/myfile.html', 'ascii', 0775);
-
- $this->ftp->close();
-
-In this example a list of files is retrieved from the server.
-::
-
- $this->load->library('ftp');
-
- $config['hostname'] = 'ftp.example.com';
- $config['username'] = 'your-username';
- $config['password'] = 'your-password';
- $config['debug'] = TRUE;
-
- $this->ftp->connect($config);
-
- $list = $this->ftp->list_files('/public_html/');
-
- print_r($list);
-
- $this->ftp->close();
-
-In this example a local directory is mirrored on the server.
-::
-
- $this->load->library('ftp');
-
- $config['hostname'] = 'ftp.example.com';
- $config['username'] = 'your-username';
- $config['password'] = 'your-password';
- $config['debug'] = TRUE;
-
- $this->ftp->connect($config);
-
- $this->ftp->mirror('/path/to/myfolder/', '/public_html/myfolder/');
-
- $this->ftp->close();
-
-***************
-Class Reference
-***************
-
-.. php:class:: CI_FTP
-
- .. php:method:: connect([$config = array()])
-
- :param array $config: Connection values
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Connects and logs into to the FTP server. Connection preferences are set
- by passing an array to the function, or you can store them in a config
- file.
-
- Here is an example showing how you set preferences manually::
-
- $this->load->library('ftp');
-
- $config['hostname'] = 'ftp.example.com';
- $config['username'] = 'your-username';
- $config['password'] = 'your-password';
- $config['port'] = 21;
- $config['passive'] = FALSE;
- $config['debug'] = TRUE;
-
- $this->ftp->connect($config);
-
- **Setting FTP Preferences in a Config File**
-
- If you prefer you can store your FTP preferences in a config file.
- Simply create a new file called the ftp.php, add the $config array in
- that file. Then save the file at *application/config/ftp.php* and it
- will be used automatically.
-
- **Available connection options**
-
- ============== =============== =============================================================================
- Option name Default value Description
- ============== =============== =============================================================================
- **hostname** n/a FTP hostname (usually something like: ftp.example.com)
- **username** n/a FTP username
- **password** n/a FTP password
- **port** 21 FTP server port number
- **debug** FALSE TRUE/FALSE (boolean): Whether to enable debugging to display error messages
- **passive** TRUE TRUE/FALSE (boolean): Whether to use passive mode
- ============== =============== =============================================================================
-
- .. php:method:: upload($locpath, $rempath[, $mode = 'auto'[, $permissions = NULL]])
-
- :param string $locpath: Local file path
- :param string $rempath: Remote file path
- :param string $mode: FTP mode, defaults to 'auto' (options are: 'auto', 'binary', 'ascii')
- :param int $permissions: File permissions (octal)
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Uploads a file to your server. You must supply the local path and the
- remote path, and you can optionally set the mode and permissions.
- Example::
-
- $this->ftp->upload('/local/path/to/myfile.html', '/public_html/myfile.html', 'ascii', 0775);
-
- If 'auto' mode is used it will base the mode on the file extension of the source file.
-
- If set, permissions have to be passed as an octal value.
-
- .. php:method:: download($rempath, $locpath[, $mode = 'auto'])
-
- :param string $rempath: Remote file path
- :param string $locpath: Local file path
- :param string $mode: FTP mode, defaults to 'auto' (options are: 'auto', 'binary', 'ascii')
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Downloads a file from your server. You must supply the remote path and
- the local path, and you can optionally set the mode. Example::
-
- $this->ftp->download('/public_html/myfile.html', '/local/path/to/myfile.html', 'ascii');
-
- If 'auto' mode is used it will base the mode on the file extension of the source file.
-
- Returns FALSE if the download does not execute successfully
- (including if PHP does not have permission to write the local file).
-
- .. php:method:: rename($old_file, $new_file[, $move = FALSE])
-
- :param string $old_file: Old file name
- :param string $new_file: New file name
- :param bool $move: Whether a move is being performed
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Permits you to rename a file. Supply the source file name/path and the new file name/path.
- ::
-
- // Renames green.html to blue.html
- $this->ftp->rename('/public_html/foo/green.html', '/public_html/foo/blue.html');
-
- .. php:method:: move($old_file, $new_file)
-
- :param string $old_file: Old file name
- :param string $new_file: New file name
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Lets you move a file. Supply the source and destination paths::
-
- // Moves blog.html from "joe" to "fred"
- $this->ftp->move('/public_html/joe/blog.html', '/public_html/fred/blog.html');
-
- .. note:: If the destination file name is different the file will be renamed.
-
- .. php:method:: delete_file($filepath)
-
- :param string $filepath: Path to file to delete
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Lets you delete a file. Supply the source path with the file name.
- ::
-
- $this->ftp->delete_file('/public_html/joe/blog.html');
-
- .. php:method:: delete_dir($filepath)
-
- :param string $filepath: Path to directory to delete
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Lets you delete a directory and everything it contains. Supply the
- source path to the directory with a trailing slash.
-
- .. important:: Be VERY careful with this method!
- It will recursively delete **everything** within the supplied path,
- including sub-folders and all files. Make absolutely sure your path
- is correct. Try using ``list_files()`` first to verify that your path is correct.
-
- ::
-
- $this->ftp->delete_dir('/public_html/path/to/folder/');
-
- .. php:method:: list_files([$path = '.'])
-
- :param string $path: Directory path
- :returns: An array list of files or FALSE on failure
- :rtype: array
-
- Permits you to retrieve a list of files on your server returned as an
- array. You must supply the path to the desired directory.
- ::
-
- $list = $this->ftp->list_files('/public_html/');
- print_r($list);
-
- .. php:method:: mirror($locpath, $rempath)
-
- :param string $locpath: Local path
- :param string $rempath: Remote path
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Recursively reads a local folder and everything it contains (including
- sub-folders) and creates a mirror via FTP based on it. Whatever the
- directory structure of the original file path will be recreated on the
- server. You must supply a source path and a destination path::
-
- $this->ftp->mirror('/path/to/myfolder/', '/public_html/myfolder/');
-
- .. php:method:: mkdir($path[, $permissions = NULL])
-
- :param string $path: Path to directory to create
- :param int $permissions: Permissions (octal)
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Lets you create a directory on your server. Supply the path ending in
- the folder name you wish to create, with a trailing slash.
-
- Permissions can be set by passing an octal value in the second parameter.
- ::
-
- // Creates a folder named "bar"
- $this->ftp->mkdir('/public_html/foo/bar/', 0755);
-
- .. php:method:: chmod($path, $perm)
-
- :param string $path: Path to alter permissions for
- :param int $perm: Permissions (octal)
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Permits you to set file permissions. Supply the path to the file or
- directory you wish to alter permissions on::
-
- // Chmod "bar" to 755
- $this->ftp->chmod('/public_html/foo/bar/', 0755);
-
- .. php:method:: changedir($path[, $suppress_debug = FALSE])
-
- :param string $path: Directory path
- :param bool $suppress_debug: Whether to turn off debug messages for this command
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Changes the current working directory to the specified path.
-
- The ``$suppress_debug`` parameter is useful in case you want to use this method
- as an ``is_dir()`` alternative for FTP.
-
- .. php:method:: close()
-
- :returns: TRUE on success, FALSE on failure
- :rtype: bool
-
- Closes the connection to your server. It's recommended that you use this
- when you are finished uploading. \ No newline at end of file