Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > f800694edefe91adea2624f711a41a2d > files > 4286

php-manual-en-5.5.7-1.mga4.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Moves an uploaded file to a new location</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.mkdir.html">mkdir</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.parse-ini-file.html">parse_ini_file</a></div>
 <div class="up"><a href="ref.filesystem.html">Filesystem Functions</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="function.move-uploaded-file" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">move_uploaded_file</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.3, PHP 5)</p><p class="refpurpose"><span class="refname">move_uploaded_file</span> &mdash; <span class="dc-title">Moves an uploaded file to a new location</span></p>

 </div>
 
 <div class="refsect1 description" id="refsect1-function.move-uploaded-file-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="type">bool</span> <span class="methodname"><strong>move_uploaded_file</strong></span>
    ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$filename</code></span>
   , <span class="methodparam"><span class="type">string</span> <code class="parameter">$destination</code></span>
   )</div>

  <p class="para rdfs-comment">
   This function checks to ensure that the file designated by
   <em><code class="parameter">filename</code></em> is a valid upload file (meaning
   that it was uploaded via PHP&#039;s HTTP POST upload mechanism). If
   the file is valid, it will be moved to the filename given by
   <em><code class="parameter">destination</code></em>.
  </p>
  <p class="para">
   This sort of check is especially important if there is any chance
   that anything done with uploaded files could reveal their
   contents to the user, or even to other users on the same
   system.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.move-uploaded-file-parameters">
  <h3 class="title">Parameters</h3>
  <p class="para">
   <dl>

    <dt>

     <span class="term"><em><code class="parameter">filename</code></em></span>
     <dd>

      <p class="para">
       The filename of the uploaded file.
      </p>
     </dd>

    </dt>

    <dt>

     <span class="term"><em><code class="parameter">destination</code></em></span>
     <dd>

      <p class="para">
       The destination of the moved file.
      </p>
     </dd>

    </dt>

   </dl>

  </p>
 </div>

 
 <div class="refsect1 returnvalues" id="refsect1-function.move-uploaded-file-returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
   Returns <strong><code>TRUE</code></strong> on success.
  </p>
  <p class="para">
   If <em><code class="parameter">filename</code></em> is not a valid upload file,
   then no action will occur, and
    <span class="function"><strong>move_uploaded_file()</strong></span> will return
   <strong><code>FALSE</code></strong>.
  </p>
  <p class="para">
   If <em><code class="parameter">filename</code></em> is a valid upload file, but
   cannot be moved for some reason, no action will occur, and
    <span class="function"><strong>move_uploaded_file()</strong></span> will return
   <strong><code>FALSE</code></strong>. Additionally, a warning will be issued.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.move-uploaded-file-examples">
  <h3 class="title">Examples</h3>
  <p class="para">
   <div class="example" id="example-2413">
    <p><strong>Example #1 Uploading multiple files</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$uploads_dir&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'/uploads'</span><span style="color: #007700">;<br />foreach&nbsp;(</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">[</span><span style="color: #DD0000">"pictures"</span><span style="color: #007700">][</span><span style="color: #DD0000">"error"</span><span style="color: #007700">]&nbsp;as&nbsp;</span><span style="color: #0000BB">$key&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$error</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$error&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">UPLOAD_ERR_OK</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tmp_name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">[</span><span style="color: #DD0000">"pictures"</span><span style="color: #007700">][</span><span style="color: #DD0000">"tmp_name"</span><span style="color: #007700">][</span><span style="color: #0000BB">$key</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">[</span><span style="color: #DD0000">"pictures"</span><span style="color: #007700">][</span><span style="color: #DD0000">"name"</span><span style="color: #007700">][</span><span style="color: #0000BB">$key</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">move_uploaded_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$tmp_name</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">$uploads_dir</span><span style="color: #DD0000">/</span><span style="color: #0000BB">$name</span><span style="color: #DD0000">"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.move-uploaded-file-notes">
  <h3 class="title">Notes</h3>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
     <span class="function"><strong>move_uploaded_file()</strong></span> is both <a href="ini.sect.safe-mode.html#ini.safe-mode" class="link">safe mode</a>
    and <a href="ini.core.html#ini.open-basedir" class="link">open_basedir</a>
    aware. However, restrictions are placed only on the
    <em><code class="parameter">destination</code></em> path as to allow the moving
    of uploaded files in which <em><code class="parameter">filename</code></em> may conflict
    with such restrictions.  <span class="function"><strong>move_uploaded_file()</strong></span> ensures
    the safety of this operation by allowing only those files uploaded
    through PHP to be moved.
   </p>
  </p></blockquote>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    If the destination file already exists, it will be overwritten.
   </p>
  </div>
 </div>

 
 <div class="refsect1 seealso" id="refsect1-function.move-uploaded-file-seealso">
  <h3 class="title">See Also</h3>
  <p class="para">
   <ul class="simplelist">
    <li class="member"> <span class="function"><a href="function.is-uploaded-file.html" class="function" rel="rdfs-seeAlso">is_uploaded_file()</a> - Tells whether the file was uploaded via HTTP POST</span></li>
    <li class="member"> <span class="function"><a href="function.rename.html" class="function" rel="rdfs-seeAlso">rename()</a> - Renames a file or directory</span></li>
    <li class="member">See <a href="features.file-upload.html" class="link">Handling file uploads</a> for a simple usage example</li>
   </ul>
  </p>
 </div>

</div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="function.mkdir.html">mkdir</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="function.parse-ini-file.html">parse_ini_file</a></div>
 <div class="up"><a href="ref.filesystem.html">Filesystem Functions</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>