3

您好我有以下保存为upload.php。

<html>
<head>
</head>
<body>
    <?php
        for($file_count = 0; $file_count <= count($_FILES['files']['tmp_name']); $file_count++){
            echo '111111';
            if( $_FILES['files']['error'][$file_count] == 0){
                echo '2222222222';
                $target_dir = "uploads/".time().$_FILES['files']['name'][$file_count];
                echo '333333333333';
                move_uploaded_file($_FILES['files']['tmp_name'][$file_count], $target_dir);
                echo '4444444444444';
            }
        }
    ?>
    <div>
        <form method="post" name="upload_form" enctype="multipart/form-data"
            action="">
            <input type="file" name="files[]" enctype="form/multipart"> <input
                type="submit" id="photo_upload" value="Upload Photo...">
        </form>
        <div id="contents">fggfgfg</div>

    </div>
</body>
</html>

上传工作正常。问题是当我启动页面时,我看到错误消息。(无法上传屏幕截图以显示它们)。

为了避免它们,我尝试检查表单是否在 post 请求中设置,如下所示:if(isset($_POST[]))。

但是当我有上面的 if 块时,即使我选择并提交文件,它里面的代码也不会被执行。

我该如何解决这个问题。

问题2:

有人可以指点我基于 jquery 的文件上传示例吗?我必须异步上传文件,因为页面上还有其他可用的表单字段。

4

2 回答 2

0

您应该为您的提交元素提供名称属性,将其更改为此

<input type="submit" id="photo_upload" name="Submit" value="Upload Photo...">

然后像这样检查

if(isset($_POST['Submit']))
于 2013-05-01T11:57:24.770 回答
0

答案 1:您可以检查 post 变量以及文件对象,例如

if(isset($_FILES)) 

或者对于使用 POST,您必须将名称标签分配给您的提交按钮

<input type="submit" id="photo_upload" name="Submit" value="Upload Photo...">

答案 2:对于异步文件上传,您可以使用 jquery 文件上传加载器,您可以查看下面的实时演示

它非常易于使用和根据我们的需要进行定制。

于 2013-05-01T12:17:26.550 回答