<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>上传 &#8211; LPC影子技术分享</title>
	<atom:link href="https://www.mudbest.com/tag/%E4%B8%8A%E4%BC%A0/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mudbest.com</link>
	<description>行影不离,忘之却步.</description>
	<lastBuildDate>Mon, 01 Oct 2012 08:44:43 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.1</generator>
	<item>
		<title>PHP Uploadify文档整理</title>
		<link>https://www.mudbest.com/php-uploadify%e6%96%87%e6%a1%a3%e6%95%b4%e7%90%86/</link>
		
		<dc:creator><![CDATA[hkshadow]]></dc:creator>
		<pubDate>Wed, 14 Mar 2012 03:35:51 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[uploadify]]></category>
		<category><![CDATA[上传]]></category>
		<guid isPermaLink="false">http://www.mudbest.com/?p=935</guid>

					<description><![CDATA[文章有点长，没办法，要介绍的太多了。 Uploadify文档整理 直入正题 ================= ... <a title="PHP Uploadify文档整理" class="read-more" href="https://www.mudbest.com/php-uploadify%e6%96%87%e6%a1%a3%e6%95%b4%e7%90%86/" aria-label="阅读 PHP Uploadify文档整理">阅读更多</a>]]></description>
										<content:encoded><![CDATA[<p>文章有点长，没办法，要介绍的太多了。</p>
<p>Uploadify文档整理</p>
<p>直入正题<br />
==============================<br />
DEMO：http://help.mudbest.com/jquery/jquery-uploadify/<br />
下载地址：<a href='http://www.mudbest.com/935.action/jqeury-uploadify' rel='attachment wp-att-947'>jqeury-uploadify</a></p>
<p>部署<br />
在部署一个Uploadify实例之前，必须确保满足最小需求：</p>
<p>    jQuery 1.4.x or greater<br />
    swfObject 2.2 or greater<br />
    Flash Player 9.0.24 or greater</p>
<p>文件包里包含以下文件，路径随意，在引入相关文件的时候不要错了就行：<span id="more-935"></span><br />
    cancel.png<br />
    jquery.uploadify.v2.1.4.min.js<br />
    jquery-1.4.2.min.js<br />
    swfobject.js<br />
    uploadify.css<br />
    uploadify.php<br />
    uploadify.swf</p>
<p>在你的网站根目录新建一个页面，然后将以下代码粘帖到HTML文档的HEAD部分：</p>
<p>以下范例代码应用于Thinkphp。其他照搬吧。</p>
<p>JS部分：</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;link href=&quot;/Public/uploadplus/uploadify.css&quot; type=&quot;text/css&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/Public/uploadplus/jquery-1.4.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/Public/uploadplus/swfobject.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/Public/uploadplus/jquery.uploadify.v2.1.4.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {
  $('#file_upload').uploadify({
	'uploader'  : '/Public/uploadplus/uploadify.swf', // 默认上传主体文件
	'script'    : '/Member-Users-uploadprocess', // 默认处理上传文件
	'cancelImg' : '/Public/uploadplus/cancel.png', // 取消上传图片
	'folder'    : '/data/upload/updoc', // 上传到服务器的保存目录,默认/
	'multi'     : true, // 多文件上传
	'simUplaodLimit' : 5, // 多文件上传时候支持的最大文件数量型
	'queuesizeLimit' : 3, // 上传文件大小控制
	'auto'      : false,  // 选定文件是否自动上传
	'sizeLimit'	: 20971520,	//上传大小控制20M
	//'method' : 'GET',
	'fileExt'   : '*.pdf;*.doc;*.docx;*.ppt;*.pptx;*.xls;*.xlsx;*.txt', //控制文件类型
	'fileDesc'  : 'Web Image Files (.pdf .doc .docx .ppt .pptx .xls .xlsx .txt)', //提示文件类型
	'onCancel'  : function(event,ID,fileObj,data){
		alert('将 '+fileObj.name + ' 从上传列表删除!');
	},
	'onAllComplete' : function(event,data) { //当所有文件上传结束进行相关处理		
				/////////////////////////////
				//在这里可以些上传后的提示
				///////////////////////////////	
			},
	'onComplete'	: function(event, ID, fileObj, response, data) {
			$('#file_upload').uploadifySettings('scriptData',{
					'policy': encodeURI(data.policy),
					'fileObjcreationDate' : fileObj.creationDate, //文件创建时间
					'fileObjsize' : fileObj.size //文件创建时间
			})
	  //alert('There are ' + fileObj.size + ' files remaining in the queue.');
	}
  });
});
&lt;/script&gt;
</pre>
<p>*确保上传文件夹存在并且是可写的。<br />
在页面的body部分，添加如下代码：</p>
<p>html部分：</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input id=&quot;file_upload&quot; name=&quot;file_upload&quot; type=&quot;file&quot; /&gt;
&lt;input type=&quot;button&quot; name=&quot;upload&quot; id=&quot;upload&quot; value=&quot;uplaod files&quot; onclick=&quot;$('#file_upload').uploadifyUpload();&quot;/&gt;
</pre>
<p>当页面被载入时，file域将被Uploadify文件上传组件自动替换。</p>
<p>接下来中文帮助文档来了<br />
注意事项</p>
<p>    我们强烈建议使用相对于网站根目录的路径(也就是以一个正斜杠&#8217;/&#8217;开始)。否则，Uploadify将使用相对于当前页面的路径。<br />
    应用于Uploadify的每个元素必须拥有一个唯一的ID属性。你可以参考引用class的元素，但是每个元素必须拥有一个唯一的ID。</p>
<p>如果你想要对Uploadify进行更多的定制，可以使用下面的可选项。</p>
<p>可选项</p>
<p><strong>auto</strong> （布尔值）当文件被添加到队列时，自动上传。<br />
类型:布尔型<br />
取值格式:true / false<br />
默认值:false<br />
是否必须:可选<br />
设置<strong>auto</strong>为true，当文件被添加至上传队列时，将会自动上传。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'auto'        : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: xml; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
</pre>
<p><strong>buttonImg</strong>（字符串）浏览按钮的背景图片路径。<br />
类型:字符串<br />
取值格式:&#8217;/path/to/button-image.jpg&#8217;<br />
默认值:null<br />
是否必须:可选<br />
<strong>buttonImg</strong>可以让你为flash按钮自定义一个背景图片。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'buttonImg'  : '/uploadify/button.jpg'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: xml; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>buttonText</strong>（字符串）默认在按钮上显示的文本。<br />
类型:字符串<br />
取值格式:&#8217;Some Text&#8217;<br />
默认值:&#8217;SELECT FILES&#8217;<br />
是否必须:可选<br />
<strong>buttonText</strong>可以让你改变显示在默认按钮上的文本。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'buttonText'  : 'Add to Queue!'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: xml; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>cancelImg</strong>（字符串）取消按钮的背景图片路径。<br />
类型:字符串<br />
取值格式:&#8217;/path/to/cancel.png&#8217;<br />
默认值:&#8217;cancel.png&#8217;<br />
是否必须:是<br />
<strong>cancelImg</strong>可以设置显示在每个上传项后面的取消按钮的背景图片。任何图像文件都可以使用，如果你想使用默认的图片样式，在uploadify的zip压缩包中包含有cancel.png。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
    });
</pre>
<p>html代码部分</p>
<pre class="brush: xml; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>checkScript</strong>（字符串）用以检查服务器上已存在文件的后台脚本的路径。【ajax方式】<br />
类型:字符串<br />
取值格式:null<br />
默认值:null<br />
是否必须:可选<br />
设置<strong>checkScript</strong>选项将检查上传文件夹中是否存在与当前文件上传队列中的文件同名的文件。后台脚本应该返回一个使用json格式编码后的数组，如果存在同名文件，该数组中包含有同名文件的文件名。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'checkScript' : '/uploadify/checkname.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>displayData</strong>（字符串）在上传过程中显示在队列里的数据类型。<br />
类型:字符串<br />
取值格式:&#8217;percentage&#8217; / &#8216;speed&#8217;<br />
默认值:&#8217;percentage&#8217;<br />
是否必须:可选<br />
<strong>displayData</strong>选项决定在上传期间什么样的数组将被显示在文件上传队列中。默认情况下，将显示上传进度的百分比。你可以将该选项的值设置为&#8221;speed&#8221;来显示上传速度，单位为KB/s。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'display'     : 'speed',
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>expressInstall</strong>（字符串）expressInstall.swf文件的路径。<br />
类型:字符串<br />
取值格式:/path/to/expressInstall.swf<br />
默认值:null<br />
是否必须:可选<br />
设置<strong>expressInstall</strong>选项将在系统没有安装flash时指向expressInstall.swf的路径来进行安装。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'       : '/uploadify/uploadify.swf',
      'script'         : '/uploadify/uploadify.php',
      'cancelImg'      : '/uploadify/cancel.png',
      'folder'         : '/uploads',
      'expressInstall' : '/uploadify/expressInstall.swf'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>fileDataName</strong>（字符串）后台脚本中要处理的file域的名称。【就是type为file的input的name值】<br />
类型:字符串<br />
取值格式:&#8217;someString&#8217;<br />
默认值:&#8217;Filedata&#8217;<br />
是否必须:可选<br />
<strong>fileDataName</strong>选项设置file域的name属性的值，当上传文件时flash文件将使用它。该值在后台脚本中被用来获取被上传文件的信息，即$_FILES数组。例如，如果你设置<strong>fileDataName</strong>的值为&#8217;uploadify&#8217;，在PHP脚本中你将使用$_FILES[&#8216;uploadify&#8217;]来获取上传文件的信息。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'     : '/uploadify/uploadify.swf',
      'script'       : '/uploadify/uploadify.php',
      'cancelImg'    : '/uploadify/cancel.png',
      'folder'       : '/uploads',
      'fileDataName' : 'Filedata'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>fileDesc</strong>（字符串）在浏览窗口底部的文件类型下拉菜单中显示的文本。<br />
类型:字符串<br />
取值格式:&#8217;someDescription&#8217;<br />
默认值:null<br />
是否必须:可选 &#8211; 当使用fileExt时则必须设置该选项。<br />
<strong>fileDesc</strong>选项设置文件选择窗口的文件类型下拉菜单中显示的文本。当使用fileExt时，必须设置该选项。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'fileExt'     : '*.jpg;*.gif;*.png',
      'fileDesc'    : 'Web Image Files (.JPG, .GIF, .PNG)'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>fileExt</strong>（字符串）允许上传的文件后缀。【译者注：.jpg/.png等】<br />
类型:字符串<br />
取值格式:&#8217;*.ext;*.ext;*.ext;&#8230;&#8217;<br />
默认值:null (all files allowed)<br />
是否必须:可选<br />
<strong>fileExt</strong>选项允许你限制上传文件的类型。这一特效很容易攻击者被绕过，所以强烈建议您在后台脚本中校验上传文件的类型。这个选项仅仅限制显示在文件选择窗口中的文件，当使用<strong>fileExt</strong>时，fileDesc选项必须被设置。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'fileExt'     : '*.jpg;*.gif;*.png',
      'fileDesc'    : 'Web Image Files (.JPG, .GIF, .PNG)'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>folder</strong>（字符串）上传文件夹的路径，文件上传后将被保存于此。<br />
类型:字符串<br />
取值格式:&#8217;/path/to/save/folder/&#8217;<br />
默认值:empty (使用uploadify的js脚本所在的文件夹)<br />
是否必须:必须 &#8211; 如果在后台上传脚本中指明，则可以不设置。<br />
<strong>folder</strong>选项允许你设置服务器的上传文件夹。这是一个不安全的设置文件保存目录的方法，所以强烈建议您在后台脚本中设置文件上传目录。除非在后台脚本（uploadify.php和check.php）中定义了文件上传目录，否则该选项是必须设置的。确保在文件上传之前，已经建立了上传文件夹，否则上传时将返回错误。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>height</strong>（整型）浏览按钮的高度。<br />
类型:整型<br />
取值格式:整型数值<br />
默认值:30<br />
是否必须:可选<br />
<strong>height</strong>选项设置flash按钮的高度，单位为像素。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'height'      : 50
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>hideButton</strong>（布尔型）设置为true将隐藏flash按钮，这样你就可以为下面的div元素定义样式。<br />
类型:布尔型<br />
取值格式:true / false<br />
默认值:false<br />
是否必须:可选<br />
<strong>hideButton</strong>选项允许你设置flash按钮的不透明度为0，这样你就可以定义位于其下的div的样式。当使用该选项时，wmode选项应该被设置为&#8217;transparent&#8217;。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'wmode'       : 'transparent',
      'hideButton'  : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;style&gt;
    #file_uploadUploader {
      background: url('/uploadify/button.jpg') no-repeat;
    }
    &lt;/style&gt;
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>method</strong>（字符串）向后台脚本放送数据的表单方法。<br />
类型:字符串<br />
取值格式:&#8217;POST&#8217; / &#8216;GET&#8217;<br />
默认值:&#8217;POST&#8217;<br />
是否必须:可选<br />
<strong>method</strong>选项设置文件上传时的表单方法。该选项的值将影响后台脚本中引用变量的方式。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'method'      : 'post'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>multi</strong>（布尔型）设置为true将允许多文件上传。<br />
类型:布尔型<br />
取值格式:true / false<br />
默认值:false<br />
是否必须:可选<br />
<strong>multi</strong>选项允许用户添加多个文件到上传队列。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'multi'       : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>queueID</strong>（字符串）页面中，你想要用来作为文件队列的元素的id。<br />
类型:字符串<br />
取值格式:&#8217;someID&#8217;<br />
默认值:null<br />
是否必须:可选<br />
<strong>queueID</strong>选项允许你设置一个拥有唯一ID的DOM元素来作为显示上传队列的容器。如果没有设置该选项，uploadify将在flash按钮的下方自动创建一个显示上传队列的容器。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'       : '/uploadify/uploadify.swf',
      'script'         : '/uploadify/uploadify.php',
      'cancelImg'      : '/uploadify/cancel.png',
      'folder'         : '/uploads',
      'multi'          : true,
      'queueSizeLimit' : 3,
      'queueID'        : 'queue'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;div style=&quot;background-color: #505050; height: 200px; margin-bottom: 10px; padding:10px; overflow: auto; width: 374px;&quot; id=&quot;queue&quot;&gt;&lt;/div&gt;
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;&lt;br /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>queueSizeLimit</strong>（整型）上传队列中所允许的文件数量。<br />
类型:整型<br />
取值格式:整型数值<br />
默认值:999<br />
是否必须:可选<br />
<strong>queueSizeLimit</strong>选项允许你设置同时处于上传队列中的文件最大数量。如果用户尝试添加的文件数量超出了限制，onQueueFull函数将被触发。 multi选项应该跟此选项一起配合使用。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'       : '/uploadify/uploadify.swf',
      'script'         : '/uploadify/uploadify.php',
      'cancelImg'      : '/uploadify/cancel.png',
      'folder'         : '/uploads',
      'multi'          : true,
      'queueSizeLimit' : 3
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>removeCompleted</strong>（布尔型）设置为true将自动移除队列中已经完成上传的项目。<br />
类型:布尔型<br />
取值格式:true / false<br />
默认值:true<br />
是否必须:可选<br />
不设置该选项或者将其设置为false，将使上传队列中的项目始终显示于队列中，直到点击了关闭按钮或者队列被清空。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'        : '/uploadify/uploadify.swf',
      'script'          : '/uploadify/uploadify.php',
      'cancelImg'       : '/uploadify/cancel.png',
      'folder'          : '/uploads',
      'removeCompleted' : false,
      'multi'           : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>rollover</strong>（布尔型）设置为true将激活浏览按钮的鼠标划过状态。<br />
类型:布尔型<br />
取值格式:true / false<br />
默认值:false<br />
是否必须:可选<br />
使用<strong>rollover</strong>选项将会激活flash按钮的鼠标划过状态。当鼠标停留在按钮上时，下面按钮的鼠标划过状态将被激活，并且默认的off状态将变成hover，并且这种状态的改变是通过同一张图片完成的（请看示例）。 此选项应该和buttonImg选项配合使用。<br />
<a href="http://www.mudbest.com/935.action/rollover-button" rel="attachment wp-att-936"><img decoding="async" src="http://www.mudbest.com/wp-content/uploads/2012/03/rollover-button.png" alt="" title="rollover-button" width="120" height="90" class="alignnone size-full wp-image-936" /></a></p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'buttonImg'   : '/uploadify/rollover-button.png',
      'rollover'    : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>script</strong>（字符串）处理文件上传的后台脚本的路径。<br />
类型:字符串<br />
取值格式:null<br />
默认值:null<br />
是否必须:是<br />
/path/to/uploadify.php<br />
<strong>script</strong>选项是必须指定的，它指向一个处理上传文件的后台脚本。后台脚本可以使用任何服务器端语言编写，Uploadify的源码包里提供的是PHP脚本，你可以对其进行修改来满足自己的开发需求。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>scriptAccess</strong>（字符串）设置在主swf文件中的脚本访问模式。<br />
类型:字符串<br />
取值格式:&#8217;sameDomain&#8217; / &#8216;always&#8217;<br />
默认值:&#8217;sameDomain&#8217;<br />
是否必须:可选<br />
<strong>scriptAccess</strong>选项为flash按钮设置scriptAccess属性。一旦设置了该属性，如果flash文件和html页面位于不同的域，它通常能避免一些测试过程中的问题，比如：通信问题。出于安全考虑，&#8221;sameDomain&#8221;应该被用于生产环境。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'     : '/uploadify/uploadify.swf',
      'script'       : '/uploadify/uploadify.php',
      'cancelImg'    : '/uploadify/cancel.png',
      'folder'       : '/uploads',
      'scriptAccess' : 'sameDomain'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>scriptData</strong>（JSON object with mixed types）在文件上传时，应该被发送给后台脚本的一个包含name/value键值对以及一些额外信息的json对象。<br />
类型:JSON对象<br />
取值格式:{name:value,name:value,name:value,&#8230;}<br />
默认值:null<br />
是否必须:可选<br />
<strong>scriptData</strong>选项允许你在上传期间向后台脚本发送额外的数据。你可以在后台脚本中调用scriptData的值，就像调用表单提交的数据一样。（比如：$_POST[&#8216;scriptDataVariable&#8217;]）。如果要发送动态数据，你可以将此选项与.uploadifySettings()方法一起配合使用。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'scriptData'  : {'firstName':'Ronnie','age':30}
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>simUploadLimit</strong>（整型）允许同时上传的文件数量。<br />
类型:整型<br />
取值格式:整型数值<br />
默认值:1<br />
是否必须:可选<br />
<strong>simUploadLimit</strong>选项允许你设置同时上传文件的最大数量。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'       : '/uploadify/uploadify.swf',
      'script'         : '/uploadify/uploadify.php',
      'cancelImg'      : '/uploadify/cancel.png',
      'folder'         : '/uploads',
      'multi'          : true,
      'simUploadLimit' : 2
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>sizeLimit</strong>（整型）上传文件的大小限制，单位为字节。<br />
类型:整型<br />
取值格式:整型数值<br />
默认值:null<br />
是否必须:可选<br />
<strong>sizeLimit</strong>选项允许你设置单个上传文件的大小限制，单位为字节。如果文件大小超过了限制，在上传时将会返回一个错误。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'sizeLimit'   : 102400
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>uploader</strong>（字符串）uploadify.swf文件的路径。<br />
类型:字符串<br />
取值格式:null<br />
默认值:null<br />
是否必须:可选<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p>width（整型）浏览按钮的宽度。<br />
类型:整型<br />
取值格式:整型数值<br />
默认值:120<br />
是否必须:可选<br />
width选项设置flash按钮的宽度，单位为像素。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'width'       : 250
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>wmode</strong>（字符串）flash文件的wmode。<br />
类型:字符串<br />
取值格式:&#8217;opaque&#8217; / &#8216;transparent&#8217;<br />
默认值:&#8217;opaque&#8217;<br />
是否必须:可选<br />
<strong>wmode</strong>选项设置flash按钮的wmode值，设置<strong>wmode</strong>为&#8217;transparent&#8217;将使文件的背景透明，但是该文件将位于页面的最顶层。如果一个选择下拉菜单与一个<strong>wmode</strong>属性值为&#8217;transparent&#8217;的flash按钮重叠在一起，下拉菜单会显示在flash按钮下方。<br />
DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'wmode'       : 'transparent'
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p>事件</p>
<p><strong>onAllComplete</strong>（函数）当上传队列中的所有文件都完成上传时触发。<br />
类型:函数<br />
函数声明:function(event,data) { some code }<br />
是否必须:可选<br />
<strong>onAllComplete</strong>选项允许你设置一个自定义函数，该函数将在上传队列中的所有文件上传完成后触发。默认的函数将清除错误数组，如果你设置的自定义函数返回false，默认的onAllComplete将不会运行。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>data<br />
一个含有上传信息的对象。</p>
<p>    [filesUploaded] &#8211; 上传文件总数。<br />
    [errors] &#8211; 发生的错误总数。<br />
    [allBytesLoaded] &#8211; 上传的总字节数。<br />
    [speed] &#8211; 上传的平均速度，单位为KB/s。</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'      : '/uploadify/uploadify.swf',
      'script'        : '/uploadify/uploadify.php',
      'cancelImg'     : '/uploadify/cancel.png',
      'folder'        : '/uploads',
      'onAllComplete' : function(event,data) {
          alert(data.filesUploaded + ' files uploaded successfully!');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onCancel</strong>（函数）当从上传队列每移除一个文件时触发一次。<br />
类型:函数<br />
函数声明:function(event,ID,fileObj,data) {}<br />
是否必须:可选<br />
设置<strong>onCancel</strong>选项，在文件上传被取消时，将允许运行一个自定义函数。默认的函数行为将移除上传队列中的项目，当上传队列被清除时，该函数也会触发【译者注：每移除一个项目就会触发一次】。如果自定义函数返回false，默认的函数将不会执行。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>ID<br />
被取消上传的文件的唯一标识。</p>
<p>fileObj<br />
一个含有被选择文件详细信息的对象。</p>
<p>    [name] – 文件名称<br />
    [size] – 文件大小，单位为字节<br />
    [creationDate] – 文件创建日期<br />
    [modificationDate] – 文件最后修改日期<br />
    [type] – 文件后缀，以&#8217;.&#8217;开始</p>
<p>data<br />
文件上传队列的详细信息。</p>
<p>    [fileCount] – 上传队列中剩下的文件总数。<br />
    [allBytesTotal] – T上传队列中剩下文件的总大小，单位为字节。</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'onCancel'    : function(event,ID,fileObj,data) {
          alert('The upload of ' + fileObj.name + ' has been canceled!');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onCheck</strong>（函数）在上传开始之前，如果检测到一个同名文件时触发。<br />
类型:函数<br />
函数声明:function() {}<br />
是否必须:可选<br />
设置<strong>onCheck</strong>选项，当在服务器上发现一个与上传文件同名的文件时，将允许你执行一个函数。同名文件检查在文件上传之前开始，默认的函数将提示用户是否要确认覆盖已有文件，如果用户选择不覆盖，上传将取消。如果你自定义的函数返回false，默认的函数将不会执行。checkScript选项必须和此选项串联使用。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>data<br />
一个含有服务器上所有同名文件的文件名的对象。对象中每个文件名的键名就是上传队列中与之同名文件的唯一id。</p>
<p>key<br />
在服务器上被检测到的同名文件的唯一id。</p>
<p>附注：<br />
如果要取消一个文件上传，在你的函数中使用下面这行代码：<br />
document.getElementById(jQuery(event.target).attr(&#8216;id&#8217;) + &#8216;Uploader&#8217;).cancelFileUpload(key,true,true);</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'checkScript' : '/uploadify/check.php',
      'onCheck'     : function(event,data,key) {
          $('#file_upload' + key).find('.percentage').text(' - Exists');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onClearQueue</strong>（函数）当uploadifyClearQueue()方法被调用时触发。<br />
类型:函数<br />
函数声明:function(event) {}<br />
是否必须:可选<br />
设置<strong>onClearQueue</strong>选项，当文件队列用.uploadifyClearQueue() 方法清除时，允许你运行一个自定义函数。默认的函数行为将移除队列中的所有项目，如果函数返回false，默认的函数将不会执行。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'     : '/uploadify/uploadify.swf',
      'script'       : '/uploadify/uploadify.php',
      'cancelImg'    : '/uploadify/cancel.png',
      'folder'       : '/uploads',
      'multi'        : true,
      'onClearQueue' : function(event) {
          alert('The queue has been cleared.');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyClearQueue();&quot;&gt;Clear File Queue&lt;/a&gt;
</pre>
<p><strong>onComplete</strong>（函数）每完成一次文件上传时触发一次。<br />
类型:函数<br />
函数声明:function(event, ID, fileObj, response, data) {}<br />
是否必须:可选<br />
使用<strong>onComplete</strong>函数，当每一个文件完成上传时都允许你触发一个自定义的函数。默认的函数行为将把文件队列中已经上传的项目标记为完成，如果removeCompleted选项被启用，已经完成的项目将被清除出文件队列。如果自定义函数返回false，默认的函数将不会执行。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>ID<br />
文件队列中项目的唯一ID。</p>
<p>fileObj<br />
一个含有文件信息的对象。</p>
<p>    [name] &#8211; 已上传文件的名称<br />
    [filePath] &#8211; 已上传文件在服务器上的路径<br />
    [size] – 文件的大学，单位为字节<br />
    [creationDate] – 文件的创建日期<br />
    [modificationDate] – 文件的最后修改日期<br />
    [type] – 文件的扩展名，以‘.’开始</p>
<p>response<br />
由后台上传脚本返回的文本值。</p>
<p>data<br />
一个含有关于上传和文件队列主要信息的对象。</p>
<p>    [fileCount] &#8211; 队列中现存文件的数量<br />
    [speed] &#8211; 文件上传的平均速度，单位为KB/s</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'multi'       : true,
      'onComplete'  : function(event, ID, fileObj, response, data) {
          alert('There are ' + data.fileCount + ' files remaining in the queue.');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onError</strong>（函数）当上传返回错误时触发。<br />
类型:函数<br />
函数声明:function(event,ID,fileObj,errorObj) {}<br />
是否必须:可选<br />
使用<strong>onError</strong>选项，当在上传过程中返回错误时，将允许你触发一个自定义的函数。默认的函数行为将错误等级添加至文件队列中的对应项目。如果你的自定义函数返回false，默认的函数将不会执行。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>ID<br />
上传时返回错误的文件的唯一标识。</p>
<p>fileObj<br />
一个含有被选择文件详细信息的对象。</p>
<p>    [name] – 文件名称<br />
    [size] – 文件的大小，单位为字节<br />
    [creationDate] – 文件的创建日期<br />
    [modificationDate] – 文件的最后修改日期<br />
    [type] – 文件的扩展名，以&#8217;.&#8217;开始</p>
<p>errorObj<br />
一个含有返回错误详细信息的对象。</p>
<p>    [type] – 可能的值有：&#8217;HTTP&#8217;, &#8216;IO&#8217;或者&#8217;Security&#8217;<br />
    [info] – 一条描述错误类型的信息。</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      // 指向一个不存在的后台文件将触发错误。
      'script'      : '/uploadify/uploadify-x.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'onError'     : function (event,ID,fileObj,errorObj) {
          alert(errorObj.type + ' Error: ' + errorObj.info);
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onInit</strong>（函数）当Uploadify实例被载入时触发。<br />
类型:function<br />
函数声明:function() {}<br />
是否必须:可选<br />
使用<strong>onInit</strong>选项，当Uploadify初始化时允许你运行一个自定义函数。默认的函数行为将隐藏应用于Uploadify的DOM元素，然后会创建一个flash按钮和文件队列的实例。如果自定义函数返回false，默认的函数将不会执行，但是你为什么会想那么做？【老外的幽默，o(∩_∩)o 哈哈！】<br />
参数：<br />
无参数</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'onInit'      : function() {
          alert('Uploadify rocks my socks!');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onOpen</strong>（函数）当上传队列中的一个文件开始上传时就触发一次。<br />
类型:function<br />
函数声明:function(event,ID,fileObj) {}<br />
是否必须:可选<br />
使用<strong>onOpen</strong>选项，当一个文件被打开上传时，运行你触发一个自定义函数。此选项没有对应的默认函数。由于同步问题，如果在<strong>onOpen</strong>自定义函数的内部使用.uploadifySettings()方法修改scriptData选项，可能会运行不正常。<br />
参数：<br />
event<br />
event对象。【事件对象】</p>
<p>ID<br />
被打开文件的唯一标识。</p>
<p>fileObj<br />
一个含有被打开文件的详细信息的对象。</p>
<p>    [name] – 文件名<br />
    [size] – 文件大小，单位为字节<br />
    [creationDate] – 文件的创建日期<br />
    [modificationDate] – 文件的最后修改日期<br />
    [type] – 文件的扩展名，以&#8217;.&#8217;开始</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'onOpen'      : function(event,ID,fileObj) {
          $('#uploader_message').text('The upload is beginning for ' + fileObj.name);
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;div id=&quot;uploader_message&quot;&gt;&lt;/div&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onProgress</strong>（函数）在上传过程中触发。<br />
类型:函数<br />
函数声明:function(event,ID,fileObj,data) {}<br />
是否必须:可选<br />
使用<strong>onProgress</strong>选项，当文件的上传进度发生改变时允许你触发一个函数。默认函数将更新进度条的长度和上传百分比。如果自定义函数返回false，默认的函数不会执行。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>ID<br />
被上传文件的唯一ID。</p>
<p>fileObj<br />
一个含有被选择文件详细信息的对象。</p>
<p>    [name] – 文件名<br />
    [size] – 文件大小，单位为字节<br />
    [creationDate] – 文件的创建日期<br />
    [modificationDate] – 文件的最后修改日期<br />
    [type] – 文件的扩展名，以&#8217;.&#8217;开始</p>
<p>data<br />
一个含有上传与文件队列相关详细信息的对象。</p>
<p>    [percentage] – 当前完成上传的百分比<br />
    [bytesLoaded] – 当前上传的字节数<br />
    [allBytesLoaded] – 当前队列中所有文件的总字节数<br />
    [speed] – 当前上传的速度，单位为KB/s</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'removeCompleted' : false,
      'onProgress'  : function(event,ID,fileObj,data) {
          var bytes = Math.round(data.bytesLoaded / 1024);
          $('#' + $(event.target).attr('id') + ID).find('.percentage').text(' - ' + bytes + 'KB Uploaded');
          return false;
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;style&gt;.uploadifyProgress{display:none;}&lt;/style&gt;
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onQueueFull</strong>（函数）当文件数量达到上传队列限制时触发。<br />
类型:函数<br />
函数声明:function(event,queueSizeLimit) {}<br />
是否必须:可选<br />
使用<strong>onQueueFull</strong>选项，当上传队列中的文件数量超过了queueSizeLimit设置的最大值时，将允许你触发一个自定义函数。默认的函数会弹出一个警告，通知用户上传队列已经满了，需要注意队列中的文件总数。如果采用批量选择时，选取的文件数量超过了限制，超过限制的部分将不会添加至上传队列【译者注：如果数量限制为5，你选择了7个，那么多于的2个将不添加】并且函数将被触发。如果自定义函数返回false，默认的函数将不会执行。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>queueSizeLimit<br />
由queueSizeLimit选项设置的文件上传队列中所允许的文件最大数量。</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'       : '/uploadify/uploadify.swf',
      'script'         : '/uploadify/uploadify.php',
      'cancelImg'      : '/uploadify/cancel.png',
      'folder'         : '/uploads',
      'queueSizeLimit' : 3,
      'multi'          : true,
      'onQueueFull'    : function (event,queueSizeLimit) {
          alert(&quot;I'm stuffed, please don't put anymore files in me!&quot;);
          return false;
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onSelect</strong>（函数）每向上传队列添加一个文件时触发。<br />
类型:函数<br />
函数声明:function(event,ID,fileObj) {}<br />
是否必须:可选<br />
使用<strong>onSelect</strong>选项，每添加一个文件至上传队列时，允许你运行一个自定义函数。默认的函数行为将为被选取的文件创建一个队列选项并将其添加至上传队列。如果自定义函数返回false，默认函数将不会运行。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>ID<br />
被选择文件的唯一ID。</p>
<p>fileObj<br />
一个含有被选择文件详细信息的对象。</p>
<p>    [name] – 文件名<br />
    [size] – 文件大小，单位为字节<br />
    [creationDate] – 文件的创建日期<br />
    [modificationDate] – 文件的最后修改日期<br />
    [type] – 文件的扩展名，以&#8217;.&#8217;开始</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'multi'       : true,
      'onSelect'    : function(event,ID,fileObj) {
          alert('The file ' + fileObj.name + ' was added to the queue.');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onSelectOnce</strong>（函数）每向上传队列添加一个或一组文件时触发。<br />
类型:函数<br />
函数声明:function(event,data) {}<br />
是否必须:可选<br />
使用<strong>onSelectOnce</strong>选项，当一次性添加若干文件至上传队列时，允许你运行一个自定义函数【译者注：与onSelect的区别主要反应在批量选择上，假设同样选择4个文件onSelect定义的函数会触发4次，而onSelectOnce对应的函数则只触发一次。大家可以通过示例来加深理解。】。此选项没有默认函数。<br />
参数：<br />
event<br />
event对象。【译者注：事件对象】</p>
<p>data<br />
一个含有关于选择操作详细信息的对象。</p>
<p>    [fileCount] – 队列中的文件总数<br />
    [filesSelected] – 在选择操作中被选择的文件总数<br />
    [filesReplaced] – 队列中被替换的文件数量<br />
    [allBytesTotal] – 队列中所有文件的总字节数</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'     : '/uploadify/uploadify.swf',
      'script'       : '/uploadify/uploadify.php',
      'cancelImg'    : '/uploadify/cancel.png',
      'folder'       : '/uploads',
      'multi'        : true,
      'onSelectOnce' : function(event,data) {
          alert(data.filesSelected + ' files were selected for upload.');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>onSWFReady</strong>（函数）当flash文件载入完成时触发。<br />
类型:函数<br />
函数声明:function() {}<br />
是否必须:可选<br />
使用<strong>onSWFReady</strong>选项，当flash按钮载入完毕时允许你运行一个自定义函数。此选项对于依赖于flash文件的行为很有用。此选项没有默认函数。<br />
参数：<br />
无参数</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'onSWFReady'  : function() {
          alert('The flash button has been loaded.');
        }
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p>方法<br />
<strong>.uploadify()</strong> 创建Uploadify上传组件的一个实例。<br />
$(&#8216;#someId&#8217;).uploadify(options);<br />
<strong>.uploadify()</strong>方法将创建一个Uploadify的实例来代替页面上的一个DOM元素。应该为Uploadify实例指定一个唯一ID，最好是一个类型为file的input控件。<br />
参数：<br />
options<br />
options是一个JSON对象，其中含有Uploadify可选项的name/value键值对。</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'multi'       : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt;
</pre>
<p><strong>.uploadifyCancel()</strong>从上传队列移除一个文件。如果文件正在上传，该方法将先取消上传，然后再将文件移除出上传队列。<br />
$(&#8216;#someID&#8217;).uploadifyCancel(ID);<br />
<strong>.uploadifyCancel()</strong>方法可以从上传队列中移除一个文件。如果文件正在上传，上传动作将被取消并且文件将被移除出上传队列。当该方法被调用时，uploadifyCancel事件将触发，而onCancel事件定义的方法将被调用。<br />
参数：<br />
ID (Required)<br />
你想要移除的文件的唯一ID，此ID是当文件被选择并添加至上传队列时，由Uploadify脚本生成的。</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'multi'       : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt; 
    |
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyCancel($('.uploadifyQueueItem').first().attr('id').replace('file_upload',''))&quot;&gt;Cancel First File&lt;/a&gt;
</pre>
<p><strong>.uploadifyClearQueue()</strong>将所有文件移除出上传队列，并且取消正在执行的所有上传。<br />
$(&#8216;#someID&#8217;).uploadifyClearQueue();<br />
<strong>.uploadifyClearQueue()</strong>方法触发uploadifyClearQueue事件和onClearQueue选项指定的函数。默认的函数行为取消所有上传动作并且清除上传队列中的所有文件。<br />
参数：<br />
无参数</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'multi'       : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;&lt;br /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload();&quot;&gt;Upload Files&lt;/a&gt; 
    | 
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyClearQueue();&quot;&gt;Clear Queue&lt;/a&gt;
</pre>
<p><strong>.uploadifySettings()</strong>改变Uploadify组件的可选参数。<br />
$(&#8216;#someID&#8217;).uploadifySettings(name,value,resetObject);<br />
<strong>.uploadifySettings()</strong>方法能够被用来改变Uploadify的特定设置。这个方法有2个参数，第一个是你想要改变的选项的名称；第二个是你想要设置的新的值。如果省略第二个参数，该方法将返回选项的当前值。<br />
以下设置可以被更改:<br />
    buttonImg<br />
    buttonText<br />
    cancelImg<br />
    fileDesc<br />
    fileExt<br />
    folder<br />
    height<br />
    hideButton<br />
    script<br />
    scriptData<br />
    simUploadLimit<br />
    sizeLimit<br />
    width</p>
<p>注意: 当改变scriptData的值时，应该使用含有name/value键值对的JSON对象。如果一个scriptData键名已经存在，它对应的值将被新值覆盖。如果键名不存在，它将被创建。要移除一个键名，设置它对应的值为null。如果使用uploadifySettings()更新scriptData选项的值，由于onOpen事件引起的同步问题，它将不会起作用。但是，你可以在自动上传过程中使用onSelectOnce方法来对scriptData进行多种修改。</p>
<p>参数：<br />
name<br />
你想要修改或者更新的设置的名称。</p>
<p>value (可选)<br />
你想要设置的值。如果省略，将返回当前设置的值。</p>
<p>resetObject (可选)<br />
如果在更新scriptData的值时，要清除已存在的scriptData对象，设置这个参数的值为true。 </p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'auto'        : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifySettings('buttonText','Browse');&quot;&gt;Change Button Text&lt;/a&gt;
</pre>
<p><strong>.uploadifyUpload()</strong>触发上传。<br />
$(&#8216;#someID&#8217;).uploadifyUpload(ID);<br />
调用<strong>.uploadifyUpload()</strong>方法将开始上传文件队列中的文件。<br />
参数：<br />
ID (可选)<br />
你想要上传的文件ID。此ID是当文件被选择并添加至上传队列时，由Uploadify脚本生成的。如果省略该参数，文件队列中的所有文件都将开始上传。</p>
<p>DEMO：<br />
JS代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    $('#file_upload').uploadify({
      'uploader'    : '/uploadify/uploadify.swf',
      'script'      : '/uploadify/uploadify.php',
      'cancelImg'   : '/uploadify/cancel.png',
      'folder'      : '/uploads',
      'multi'       : true
    });
</pre>
<p>html代码部分</p>
<pre class="brush: jscript; title: ; notranslate">
    &lt;input type=&quot;file&quot; id=&quot;file_upload&quot; name=&quot;file_upload&quot; /&gt;
    &lt;a href=&quot;javascript:$('#file_upload').uploadifyUpload($('.uploadifyQueueItem').last().attr('id').replace('file_upload',''));&quot;&gt;Upload Last File&lt;/a&gt;
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>php上传文件的原理</title>
		<link>https://www.mudbest.com/php%e4%b8%8a%e4%bc%a0%e6%96%87%e4%bb%b6%e7%9a%84%e5%8e%9f%e7%90%86/</link>
		
		<dc:creator><![CDATA[hkshadow]]></dc:creator>
		<pubDate>Sun, 02 Oct 2011 15:57:43 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[upload]]></category>
		<category><![CDATA[上传]]></category>
		<guid isPermaLink="false">http://www.mudbest.com/?p=829</guid>

					<description><![CDATA[利用php的文件函数来实现上传 这段代码分为两个文件，一个为upload.html，一个是upload.php ... <a title="php上传文件的原理" class="read-more" href="https://www.mudbest.com/php%e4%b8%8a%e4%bc%a0%e6%96%87%e4%bb%b6%e7%9a%84%e5%8e%9f%e7%90%86/" aria-label="阅读 php上传文件的原理">阅读更多</a>]]></description>
										<content:encoded><![CDATA[<p>利用php的文件函数来实现上传<br />
 这段代码分为两个文件，一个为upload.html，一个是upload.php<br />
 <span id="more-829"></span><br />
upload.html</p>
<pre class="brush: xml; title: ; notranslate">
&lt;html&gt;
 &#x5B;form] enctype=”multipart/form-data” action=”upload.php” method=”post”&gt;
 &#x5B;input type=&quot;hidden&quot; name=&quot;max_file_size&quot; value=&quot;100000&quot;&gt;
 &#x5B;input name=&quot;userfile&quot; type=&quot;file&quot;&gt;　　
 &#x5B;input type=&quot;submit&quot; value=&quot;上传文件&quot;&gt;
 &#x5B;/form]
&lt;/html&gt;
</pre>
<p>其中，请注意<br />
这是一个标签，我们要实现文件的上传，必须指定为multipart/form-data，否则服务器将不知道要干什么。<br />
 值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域，通过设置其Value(值)可以限制上载文件的大小。<br />
 MAX_FILE_SIZE 的值只是对浏览器的一个建议，实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上，PHP 设置中的上传文件最大值，是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE，因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。</p>
<p>upload.php</p>
<pre class="brush: php; title: ; notranslate">
 $f=&amp;$HTTP_POST_FILES&#x5B;'Myfile'];
 $dest_dir=’uploads’;//设定上传目录
 $dest=$dest_dir.’/’.date(“ymd”).”_”.$f&#x5B;'name'];//设置文件名为日期加上文件名避免重复
 $r=move_uploaded_file($f&#x5B;'tmp_name'],$dest);
 chmod($dest, 0755);//设定上传的文件的属性
</pre>
<p>或者<br />
以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile（名称可随意命名）</p>
<pre class="brush: php; title: ; notranslate">
&lt;php&gt;
 $_FILES&#x5B;'userfile']&#x5B;'name'] 客户端机器文件的原名称。
 $_FILES&#x5B;'userfile']&#x5B;'type'] 文件的 MIME 类型，需要浏览器提供该信息的支持，例如“image/gif”。
 $_FILES&#x5B;'userfile']&#x5B;'size'] 已上传文件的大小，单位为字节。
 $_FILES&#x5B;'userfile']&#x5B;'tmp_name'] 文件被上传后在服务端储存的临时文件名。
 $_FILES&#x5B;'userfile']&#x5B;'error'] 和该文件上传相关的错误代码
&lt;/php&gt;
</pre>
<p>值：0; 没有错误发生，文件上传成功。<br />
 值：1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。<br />
 值：2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。<br />
 值：3; 文件只有部分被上传。<br />
 值：4; 没有文件被上传。</p>
<p>PHP上传文件涉及到的参数</p>
<p>PHP默认的上传限定是最大2M，想上传超过此设定的文件，需要调整PHP、apache等的一些参数. 下面，我们简要介绍一下PHP文件上传涉及到的一些参数：</p>
<p><strong>file_uploads</strong></p>
<p>是否允许通过HTTP上传文件的开关，默认为ON即是开</p>
<p><strong>upload_tmp_dir</strong></p>
<p>upload_tmp_dir用来说明PHP上传的文件放置的临时目录，要想上传文件，得保证服务器没有关闭临时文件和有对文件夹的写权限，如果未指定则PHP使用系统默认值</p>
<p><strong>upload_max_filesize</strong></p>
<p>允许上传文件大小的最大值，默认为2M</p>
<p><strong>post_max_size</strong></p>
<p>控制在采用POST方法进行一次表单提交中PHP所能够接收的最大数据量。如果希望使用PHP文件上传功能，则需要将此值改为比upload_max_filesize要大</p>
<p><strong>max_input_time</strong></p>
<p>以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制。如果应用程序所运行环境处在低速链路上，则需要增加此值以适应接收数据所需的更多时间</p>
<p><strong>memory_limit</strong></p>
<p>为了避免正在运行的脚本大量使用系统可用内存，PHP允许定义内存使用限额。通过memory_limit变量来指定单个脚本程序可以使用的最大内存容量变量memory_limit的值应当适当大于post_max_size的值</p>
<p><strong>max_execution_time</strong></p>
<p>max_execution_time设置了在强制终止脚本前PHP等待脚本执行完毕的时间，此时间以秒计算。当脚本进入了一个无限循环状态时此变量非常有用。然而，当存在一个需要很长时间完成的合法活动时（例如上传大型文件），这项功能也会导致操作失败。在这样的情况下必须考虑将此变量值增加，以避免PHP在脚本正在执行某些重要过程的时候将脚本关闭<br />
 对于linux主机，可能在/etc/httpd/conf.d/access.conf/下面里面还有php.conf 文件，这个文件可能会解决一些系统的文件大小限制问题<br />
 利用discuz实现PHP大文件上传应用举例<br />
 论坛的附件功能当初设计的初衷并不是为了文件管理，由于服务器配置，php，网络等多方面因素，使得通过论坛上传文件并不是一个好方案。<br />
 对于确实需要改善论坛附件上传条件的朋友可以尝试将上面提及的参数在php.ini进行设置，以适应大文件上传的需要。同时别忘记在论坛的后台相应做附件限制的地方进行设置。<br />
 论坛主要有2个地方可以对附件上传的大小进行限制，级别从高到低依次为：<br />
 帖子相关—附件类型尺寸<br />
 用户组—附件相关<br />
 同时，下面提供一个配置指导，来源一些成功通过http上传大附件的朋友的提供，当然，由于大家的服务器配置情况以及网络情况不同，并不一定适用你的情况，可能很多地方需要参照修改：</p>
<p>打开php.ini，</p>
<p>参数 设置 说明</p>
<p>file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开<br />
 upload_tmp_dir — 文件上传至服务器上存储临时文件的地方，如果没指定就会用系统默认的临时文件夹<br />
 upload_max_filesize 8m 望文生意，即允许上传文件大小的最大值。默认为2M<br />
 post_max_size 8m 指通过表单POST给PHP的所能接收的最大值，包括表单里的所有值。默认为8M</p>
<p>说明</p>
<p>一般地，设置好上述四个参数后，在网络正常的情况下，上传<=8M的文件是不成问题
 但如果要上传>8M的大体积文件，只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速，否则你还得继续设置下面的参数。<br />
 <strong>max_execution_time </strong>600 每个PHP页面运行的最大时间值(秒)，默认30秒<br />
 <strong>max_input_time</strong> 600 每个PHP页面接收数据所需的最大时间，默认60秒<br />
 <strong>memory_limit</strong> 8m 每个PHP页面所吃掉的最大内存，默认8M<br />
 把上述参数修改后，在网络所允许的正常情况下，就可以上传大体积文件了<br />
 [编辑]论坛文件上传常见错误类型（不断总结中…）<br />
 Warning: Unable to open ‘\\php2′ for reading: Invalid argument in e:\user\web\larksoft.net\upload\upfile.php on line 10<br />
 是php的upload_tmp_dir的原因，所指定的目录必须可读可写<br />
 Parse error: parse error in c:\program files\apache group\apache\htdocs\mdweb\ftpfile\upload.php on line 14<br />
 Parse error一般都是语句的问题，比如象“；”，“’”，“）”等等的匹配问题</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
