1

在 PHP 中,我如何创建一个具有上传按钮的表单,但它也有提交按钮,我从文件和其他一些数据(来自其他输入输出)提交该文本?我可以在一个表单中有两个按钮元素,还是应该将我的表单分成两个表单,一个表单有上传按钮,另一个有提交按钮?我应该使用 jQuery 上传文件,但之后如何访问动作 php 文件中的这些数据?请帮忙。谢谢

4

3 回答 3

5

不需要多种形式。要上传文件,请使用<input type="file" name="MyFile">并向form元素添加以下属性:enctype="multipart/form-data"

将表单提交到服务器后,您将获得一个$_FILES超级全局数组(除了包含其余字段的 $_POST 数组),您将在其中找到上传文件的所有详细信息。当您提交表单时,文件会上传到一个临时位置,您需要使用该move_uploaded_file()功能将其移动到其固定位置。

于 2013-01-19T17:48:29.760 回答
1

是的你可以。您可以执行通过上传按钮触发的上传脚本。在表单的开头包含该脚本。这些方面的东西:

<?php

if(isset($_POST['upload'])) {

    //In your upload script you could store all the upload data in $_SESSION
    include('yourUploadScript.php');

}

if(isset($_POST['submit'])) {

    //Trim and escape post data here
    //Send the post data and file upload data via your own submit function/script or whatever

}

?>
<html>
    <body>
        <form method="post" name="myForm" action="thisphp.php" enctype="multipart/form-data">

        Choose a file to upload: <input name="uploadedfile" type="file" /><br />

        <input type="submit" name="upload" value="upload" />

        First name: <input type="text" name="fname"><br />
        Last name: <input type="text" name="lname"><br />

        <input type="submit" name="submit" value="submit" />

        </form>
    </body>
</html>

请记住,动作应该是这个表单/php 文件。另请注意,根据您的文档类型,此 html 可能无效。这只是为了演示。

于 2013-01-19T18:09:03.510 回答