以HTML格式从input type =“file”获取文件目录

时间:2014-06-04 15:57:08

标签: php jquery azure

我有这样的上传表格:

<form id="ajax-contact-form" action=""  method="post" enctype="multipart/form-data" name="form1">

    <INPUT type="text" name="name" value="Material Name:" onBlur="if(this.value=='') this.value='Material Name:'" 
                            onFocus="if(this.value =='Material Name:' ) this.value=''">
    <div class="clear"></div>
    Choose a file to upload<br />

<!--APC hidden field-->
    <input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value="<?php echo $up_id; ?>"/>
    <div class="clear"></div>
<!---->

    <input name="file" type="file" id="file" />
    <div class="clear"></div>
<!--Include the iframe-->
    <br />
    <iframe id="upload_frame" name="upload_frame" frameborder="0" border="0" src="" scrolling="no" scrollbar="no" > </iframe>
    <br />
<!---->

    <INPUT class="submit" type="submit" name="submit" value="submit">
                  <div class="clear"></div>
  </form>

我正在使用php,我必须获取要在azure中使用的上传文件的目录名。

我该如何管理?

感谢。

1 个答案:

答案 0 :(得分:2)

如果您没有使用框架,则可以在处理表单时使用全局$ _FILES。 这将是您提交的每个文件的数组,使用&#34; name&#34;作为键的输入(缺少样本形式)。

在该密钥中,您将找到&#34; name&#34;,&#34; type&#34;,&#34; tmp_name&#34;,&#34; error&#34;和&#34;尺寸&#34;。

tmp_name将具有存储在服务器上的临时文件的绝对路径。其余的是自我解释。

现在,如果您使用框架来处理表单,那么大多数框架都有一种从请求中获取文件的更简单且防错的方法。

<强>更新

$_FILES['file']['tmp_name']将在您的服务器上拥有上传文件的绝对路径。 有了它,你可以做file_get_contents()或任何你喜欢的。

$_FILES['file']['name']将拥有该文件的名称,以防您需要将其保留在某处。

如果您使用的是xdebug之类的调试器,您可以设置一个断点,然后自己查看全局以获得更好的想法。 如果没有,您可以随时执行var_dump($_FILES);以查看结构并了解服务器上发生的情况。