<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[FILES详解]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sun, 27 Mar 2011 11:12:51 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	文件上传表单&lt;form enctype=&quot;multipart/form-data&quot; action=&quot;URL&quot; method=&quot;post&quot;&gt; <br/>&lt;input type=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;1000&quot;&gt; <br/>&lt;input name=&quot;myFile&quot; type=&quot;file&quot;&gt; <br/>&lt;input type=&quot;submit&quot; value=&quot;上传文件&quot;&gt; <br/>&lt;/form&gt; <br/> <br/><br/><br/>$_FILES数组内容如下:<br/><br/>$_FILES[&#039;myFile&#039;][&#039;name&#039;]&nbsp;&nbsp; 客户端文件的原名称。 <br/>$_FILES[&#039;myFile&#039;][&#039;type&#039;]&nbsp;&nbsp; 文件的 MIME 类型，需要浏览器提供该信息的支持，例如&quot;image/gif&quot;。 <br/>$_FILES[&#039;myFile&#039;][&#039;size&#039;]&nbsp;&nbsp; 已上传文件的大小，单位为字节。 <br/>$_FILES[&#039;myFile&#039;][&#039;tmp_name&#039;]&nbsp;&nbsp; 文件被上传后在服务端储存的临时文件名，一般是系统默认。可以在php.ini的upload_tmp_dir 指定，但 用 putenv() 函数设置是不起作用的。 <br/>$_FILES[&#039;myFile&#039;][&#039;error&#039;]&nbsp;&nbsp; 和该文件上传相关的错误代码。[&#039;error&#039;] 是在 PHP 4.2.0 版本中增加的。下面是它的说明：(它们在PHP3.0以后成了常量) <br/>UPLOAD_ERR_OK <br/>&nbsp;&nbsp;&nbsp;&nbsp; 值：0; 没有错误发生，文件上传成功。 <br/>&nbsp;&nbsp;UPLOAD_ERR_INI_SIZE <br/>&nbsp;&nbsp;&nbsp;&nbsp; 值：1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 <br/>&nbsp;&nbsp;UPLOAD_ERR_FORM_SIZE <br/>&nbsp;&nbsp;&nbsp;&nbsp; 值：2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 <br/>&nbsp;&nbsp;UPLOAD_ERR_PARTIAL <br/>&nbsp;&nbsp;&nbsp;&nbsp; 值：3; 文件只有部分被上传。 <br/>&nbsp;&nbsp;UPLOAD_ERR_NO_FILE <br/>&nbsp;&nbsp;&nbsp;&nbsp; 值：4; 没有文件被上传。 <br/>&nbsp;&nbsp;&nbsp;&nbsp; 值：5; 上传文件大小为0.<br/><br/><br/>文件被上传结束后，默认地被存储在了临时目录中，这时您必须将它从临时目录中删除或移动到其它地方，如果没有，则会被删除。也就是不管是否上传成功，脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置，此时，才算完成了上传文件过程。<br/><br/><br/>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br/><br/><br/>今天用到PHP进行文件上传,用到了如下的一段代码:&lt;?if($upfile==&quot;none&quot;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //没有选定文件的处理<br/>&#123;<br/>echo &quot;没有选择文件&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //显示提示信息<br/>echo &quot;&lt;p&gt;&quot;;<br/>echo &quot;点&lt;a href=&#92;&quot;8-15.php&#92;&quot;&gt;这里&lt;/a&gt;返回&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //给出返回连接<br/>&#125;<br/>else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//选定文件<br/>&#123;<br/>$filepath=&quot;images/&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//定义路径<br/>$filename=$filepath.$upfile_name;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //新的路径及文件名<br/>echo $upfile_name;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//显示文件名<br/>echo &quot;&lt;p&gt;&quot;;<br/>echo $upfile_size;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//显示文件大小<br/>echo &quot;&lt;p&gt;&quot;;<br/>echo $upfile_type;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//显示文件类型<br/>if(copy($upfile,$filename))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //复制文件的目标路径<br/>&#123;<br/>&nbsp;&nbsp; unlink($upfile);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//删除原有文件<br/>&nbsp;&nbsp; echo &quot;&lt;p&gt;&quot;;<br/>&nbsp;&nbsp; echo &quot;指定文件已经成功上传！&quot;;<br/>&nbsp;&nbsp; echo &quot;&lt;p&gt;&quot;;<br/>&nbsp;&nbsp; echo &quot;点&lt;a href=&#92;&quot;8-15.php&#92;&quot;&gt;这里&lt;/a&gt;返回&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//给出返回连接<br/>&#125;<br/>else<br/>&#123;<br/>&nbsp;&nbsp; echo &quot;文件上传失败!&quot;;<br/>&#125;<br/>&#125;?&gt;结果显示不出来,仔细找了下原因,原来是PHP4.0以上的版本已经不支持$upfile的用法了,改成以下的代码,便能正常上传了:)表单页面为:&lt;form id=&quot;form1&quot; name=&quot;form1&quot; enctype=&quot;multipart/form-data&quot; method=&quot;post&quot; action=&quot;ex6pro.php&quot;&gt;<br/>&lt;label&gt;<br/>&lt;input name=&quot;upfile&quot; type=&quot;file&quot; id=&quot;upfile&quot; /&gt;<br/>&lt;/label&gt;<br/>&lt;p&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;确认提交&quot; /&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/label&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;label&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;reset&quot; name=&quot;Submit2&quot; value=&quot;重新选择&quot; /&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/label&gt;<br/>&lt;/p&gt;<br/>&lt;/form&gt;其中的处理程序ex6pro.php改成以下内容:&lt;?<br/>if($_FILES[upfile][name]==&quot;&quot;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //没有选定文件的处理<br/>&#123;<br/>echo &quot;没有选择文件&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //显示提示信息<br/>echo &quot;&lt;p&gt;&quot;;<br/>echo &quot;点&lt;a href=&#92;&quot;ex6.php&#92;&quot;&gt;这里&lt;/a&gt;返回&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //给出返回连接<br/>&#125;<br/>else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//选定文件<br/>&#123;<br/>$filepath=&quot;images/&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//定义路径<br/>$filename=$filepath.$_FILES[upfile][name];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //新的路径及文件名<br/>echo $_FILES[upfile][name];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//显示文件名<br/>echo &quot;&lt;p&gt;&quot;;<br/>echo $_FILES[upfile][size];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//显示文件大小<br/>echo &quot;&lt;p&gt;&quot;;<br/>echo $_FILES[upfile][type];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//显示文件类型<br/>if(copy($_FILES[upfile][tmp_name],$filename))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //复制文件的目标路径<br/>&#123;<br/>&nbsp;&nbsp; unlink($_FILES[upfile][tmp_name]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//删除原有文件<br/>&nbsp;&nbsp; echo &quot;&lt;p&gt;&quot;;<br/>&nbsp;&nbsp; echo &quot;指定文件已经成功上传！&quot;;<br/>&nbsp;&nbsp; echo &quot;&lt;p&gt;&quot;;<br/>&nbsp;&nbsp; echo &quot;点&lt;a href=&#92;&quot;ex6.php&#92;&quot;&gt;这里&lt;/a&gt;返回&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//给出返回连接<br/>&#125;<br/>else<br/>&#123;<br/>&nbsp;&nbsp; echo &quot;文件上传失败!&quot;;<br/>&#125;<br/>&#125;<br/>?&gt;一切OK啦!1!$_FILES <br/>经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组（依然有效，但反对使用）。详细信息请参阅 POST 方法上传。<br/><br/>$_FILES数组内容如下:<br/><br/>&lt;input type=&quot;file&quot; name=&quot;userfile&quot;&gt;<br/><br/>$_FILES[&#039;userfile&#039;][&#039;name&#039;]<br/><br/>客户端机器文件的原名称。<br/><br/>$_FILES[&#039;userfile&#039;][&#039;type&#039;] <br/>文件的 MIME 类型，需要浏览器提供该信息的支持，例如“image/gif”。<br/><br/>$_FILES[&#039;userfile&#039;][&#039;size&#039;] <br/>已上传文件的大小，单位为字节。<br/><br/>$_FILES[&#039;userfile&#039;][&#039;tmp_name&#039;] <br/>文件被上传后在服务端储存的临时文件名。<br/><br/>$_FILES[&#039;userfile&#039;][&#039;error&#039;] <br/>和该文件上传相关的错误代码。[&#039;error&#039;] 是在 PHP 4.2.0 版本中增加的。<br/>注: 在 PHP 4.1.0 版本以前该数组的名称为 $HTTP_POST_FILES，它并不像 $_FILES 一样是自动全局变量。PHP 3 不支持 $HTTP_POST_FILES 数组。<br/><br/>来源：http://hi.baidu.com/7book/blog/item/94f84ef383bbb4ce0b46e00a.html
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] FILES详解]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>