PHP - 可以在没有<form>标签的情况下上传吗?</form>

时间:2010-09-11 07:45:44

标签: php

如果用php上传文件,用简单的方法,我可以这样做

<?php 
  if($_FILES)
{
   DO UPLOAD 
}
?>
<form action='' enctype='multipart/form-data' method='post'>
  <input type="file" name="file">
  <input type="submit" name="upload" value="submit">
</form>

现在,我必须上传文件但是没有<form>这样的标签

------index.html----
    <input type="file" name="file">
    <a href="upload.php">Upload</a>
--------------------

------upload.php-----
 CODE PHP TO UPLOAD FILE
---------------------

点击上传链接时,它可以是一个上传的页面。

但我不知道如何上传页面可以获取没有标签形式的文件

简单的index.html只发送文件名,以及上传页面过程本地的位置

抱歉我的英文不好

4 个答案:

答案 0 :(得分:1)

目前还不是很清楚你想要什么。但事实上有一种方法可以上传没有表格的文件(及其POST请求方法/ ctype)。它被称为“PUT”请求。所有主要的http库都可以做到这一点。主流浏览器只能通过AJAX。

但是,接收脚本必须具有特定的支持。需要检查$ _SERVER [REQUEST_METHOD]并读取表单php:// input,它实际上只允许接收单个文件。甚至可能需要将其设置为Apache处理程序:

首先是Google结果:http://www.phpbuilder.com/manual/features.file-upload.put-method.php

答案 1 :(得分:0)

没有。只有帮助o multipart / orm-data表单,您才能发送$ _FILES数组进行上传。

答案 2 :(得分:0)

不,没有<form>标记就无法进行标准文件上传。

唯一的例外是jQuery / Javascript解决方法。

答案 3 :(得分:0)

看起来你想要的是一个看似链接的提交按钮。你可能想要(HTML):

<form action="upload.php" type="multipart/form-data">
    <input type="file" name="file" />
    <button type="submit" class=="upload-submit">Upload</button>
</form>

和(CSS):

button.upload-submit {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    color: #00f; /* Your link color here */
    background-color: transparent;
    text-decoration: underline;
}