使用swfupload指定上载路径

时间:2012-12-31 01:42:54

标签: php swfupload

我正在使用SwfUpload,我希望能够指定目标文件夹。现在我已经硬编码了最终目的地,但我希望能够动态控制它。有没有办法让SwfUpload将其提交到我的上传脚本?我尝试将其作为隐藏变量添加到显示上传者的表单中,但它不会出现在我的脚本中:

这是显示上传者的表单。页面的其余部分非常标准,所以我没有包含它。查找隐藏字段“destinationpath”

<form id="form1" action="nowhere.html" method="post" enctype="multipart/form-data">
    <p>Select file to upload for program.
    </p>

        <div class="fieldset flash" id="fsUploadProgress">
        <span class="legend">Upload Queue</span>
        </div>
    <div id="divStatus">0 Files Uploaded</div>
        <div>
            <span id="spanButtonPlaceHolder"></span>
            <input id="btnCancel" type="button" value="Cancel All Uploads" onclick="swfu.cancelQueue();" disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;" />
        </div>
    <input name="destinationpath" type="hidden" value="c:/DigitalMediaFiles/">
</form>

然后在upload.php中我检查它:

if (isset($_REQUEST["destinationpath"]))
    $save_path  = $_REQUEST["destinationpath"];

但未设定。我怀疑swf上传不提交表单。

2 个答案:

答案 0 :(得分:0)

这样做的方法是在SWFSettings对象的post_params中指定参数

post_params:                     {                      “destinationpath”:“C:\ DigitalMediaFiles”                     },

我尝试使用addPostParam(),但这对我不起作用。把它放在设置的post_params中。

答案 1 :(得分:0)

如果目标文件夹与up-loader(客户端)无关,则可以在php脚本中执行此操作,而无需从客户端脚本获取该变量。这是通过php脚本将文件保存在目标目录中。

如果目标文件夹与每个客户端不同,您仍然可以将它们保存在同一目录中,并使用.htaccess文件重写每个客户端的URL(使用客户端ID)。在这种情况下,您需要保存文件,将客户端ID保存在文件名的一部分中。您可以使用分隔符来分解文件名。

如果您仍然需要按照自己在问题中提到的方式进行操作,只需在配置js文件中使用post_params:{}函数,该文件是为swfupload.js文件编写的。在这种情况下,post_params:{}函数将如下所示:

post_poarams: { 'your-variable-name-in-php-goes-here': 'value of this variable at this time goes here' },