blob: 4d2f8bf90ae6e67b85a981fd66c5dc6923c9207f [file] [log] [blame]
adminb0dd10f2006-08-25 17:25:49 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html>
3<head>
4
Derek Allard404e35d2007-08-07 01:00:45 +00005<title>CodeIgniter User Guide : File Helper</title>
adminb0dd10f2006-08-25 17:25:49 +00006
7<style type='text/css' media='all'>@import url('../userguide.css');</style>
8<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
9
admin17a890d2006-09-27 20:42:42 +000010<script type="text/javascript" src="../nav/nav.js"></script>
admin2296fc32006-09-27 21:07:02 +000011<script type="text/javascript" src="../nav/prototype.lite.js"></script>
admin17a890d2006-09-27 20:42:42 +000012<script type="text/javascript" src="../nav/moo.fx.js"></script>
adminb0dd10f2006-08-25 17:25:49 +000013<script type="text/javascript">
14window.onload = function() {
admine334c472006-10-21 19:44:22 +000015 myHeight = new fx.Height('nav', {duration: 400});
adminb0dd10f2006-08-25 17:25:49 +000016 myHeight.hide();
17}
18</script>
19
20<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
21<meta http-equiv='expires' content='-1' />
22<meta http-equiv= 'pragma' content='no-cache' />
23<meta name='robots' content='all' />
24<meta name='author' content='Rick Ellis' />
Derek Allardd2df9bc2007-04-15 17:41:17 +000025<meta name='description' content='CodeIgniter User Guide' />
adminb0dd10f2006-08-25 17:25:49 +000026
27</head>
28<body>
29
30<!-- START NAVIGATION -->
31<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
32<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
33<div id="masthead">
34<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
35<tr>
Derek Allard60ca9b72007-07-12 19:53:27 +000036<td><h1>CodeIgniter User Guide Version 1.5.4</h1></td>
adminc0d5d522006-10-30 19:40:35 +000037<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
adminb0dd10f2006-08-25 17:25:49 +000038</tr>
39</table>
40</div>
41<!-- END NAVIGATION -->
42
43
44<!-- START BREADCRUMB -->
45<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
46<tr>
47<td id="breadcrumb">
Derek Allardd2df9bc2007-04-15 17:41:17 +000048<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
adminb0dd10f2006-08-25 17:25:49 +000049<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
50File Helper
51</td>
Derek Allardbc030912007-06-24 18:25:29 +000052<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
adminb0dd10f2006-08-25 17:25:49 +000053</tr>
54</table>
55<!-- END BREADCRUMB -->
56
57<br clear="all" />
58
59
60<!-- START CONTENT -->
61<div id="content">
62
63
64<h1>File Helper</h1>
65
66<p>The File Helper file contains functions that assist in working with files.</p>
67
68
69<h2>Loading this Helper</h2>
70
71<p>This helper is loaded using the following code:</p>
72<code>$this->load->helper('file');</code>
73
74<p>The following functions are available:</p>
75
76<h2>read_file('<var>path</var>')</h2>
77
78<p>Returns the data contained in the file specified in the path. Example:</p>
79
80<code>$string = read_file('./path/to/file.php');</code>
81
82<p>The path can be a relative or full server path. Returns FALSE (boolean) on failure.</p>
83
84<p class="important"><strong>Note:</strong> The path is relative to your main site index.php file, NOT your controller or view files.
Derek Allardd2df9bc2007-04-15 17:41:17 +000085CodeIgniter uses a front controller so paths are always relative to the main site index.</p>
adminb0dd10f2006-08-25 17:25:49 +000086
87<p>If you server is running an open_basedir restriction this function
88might not work if you are trying to access a file above the calling script.</p>
89
90<h2>write_file('<var>path</var>', <kbd>$data</kbd>)</h2>
91
92<p>Writes data to the file specified in the path. If the file does not exist the function will create it. Example:</p>
93
94<code>
95$data = 'Some file data';<br />
96<br />
97if ( ! write_file('./path/to/file.php', $data))<br />
98{<br />
99&nbsp;&nbsp;&nbsp;&nbsp; echo 'Unable to write the file';<br />
100}<br />
101else<br />
102{<br />
103&nbsp;&nbsp;&nbsp;&nbsp; echo 'File written!';<br />
104}</code>
105
Derek Allardc6441282007-07-04 23:54:32 +0000106<p>You can optionally set the write mode via the third parameter:</p>
adminb64b0be2006-09-02 17:19:54 +0000107
108<code>write_file('./path/to/file.php', $data, <var>'r+'</var>);</code>
109
110<p>The default mode is <kbd>wb</kbd>. Please see the <a href="http://php.net/fopen">PHP user guide</a> for mode options.</p>
111
adminb0dd10f2006-08-25 17:25:49 +0000112<p>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.).
113If the file does not already exist, the directory containing it must be writable.</p>
114
115<p class="important"><strong>Note:</strong> The path is relative to your main site index.php file, NOT your controller or view files.
Derek Allardd2df9bc2007-04-15 17:41:17 +0000116CodeIgniter uses a front controller so paths are always relative to the main site index.</p>
adminb0dd10f2006-08-25 17:25:49 +0000117
118
119
120<h2>delete_files('<var>path</var>')</h2>
121
122<p>Deletes ALL files contained in the supplied path. Example:</p>
Derek Allard4ae32252007-05-04 11:25:13 +0000123<code>delete_files('./path/to/directory/');</code>
adminb0dd10f2006-08-25 17:25:49 +0000124
125<p>If the second parameter is set to <kbd>true</kbd>, any directories contained within the supplied root path will be deleted as well. Example:</p>
126
Derek Allard4ae32252007-05-04 11:25:13 +0000127<code>delete_files('./path/to/directory/', TRUE);</code>
adminb0dd10f2006-08-25 17:25:49 +0000128
129<p class="important"><strong>Note:</strong> The files must be writable or owned by the system in order to be deleted.</p>
130
131
admine85c05d2006-10-23 20:18:34 +0000132<h2>get_filenames('<var>path/to/directory/</var>')</h2>
133
134<p>Takes a server path as input and returns an array containing the names of all files contained within it. The file path
135can optionally be added to the file names by setting the second parameter to TRUE.</p>
adminb0dd10f2006-08-25 17:25:49 +0000136
137
138</div>
139<!-- END CONTENT -->
140
141
142<div id="footer">
143<p>
144Previous Topic:&nbsp;&nbsp;<a href="directory_helper.html">Directory Helper</a>
145&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
146<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
147<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
148Next Topic:&nbsp;&nbsp;<a href="form_helper.html">Form Helper</a>
Derek Allardc6441282007-07-04 23:54:32 +0000149</p>
Derek Allardd2df9bc2007-04-15 17:41:17 +0000150<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
adminb0dd10f2006-08-25 17:25:49 +0000151</div>
152
153</body>
154</html>