我有这样的上传表格:
<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中使用的上传文件的目录名。
我该如何管理?
感谢。
答案 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);
以查看结构并了解服务器上发生的情况。