php - $_FILES 何时创建/清除 |与 javascript 重新加载的关系

标签 php javascript

我用这条线

isset( $_FILES['ufile']['tmp_name'] );

测试文件上传。我遇到的问题是我无法获得“清除”的值。

如果我进去手动输入

unset( $_FILES['ufile']['tmp_name'] );

我可以清除它,但是一旦我删除它,它就会以某种方式被 PHP 填充。此过程中没有实际的文件上传。

如何准确检测文件何时上传以及上传脚本何时完成。

我问的原因是因为控制类工作在这个变量上,并且它最近停止工作。

在 javascript 中,我最近改变了重新加载的方式,我认为这导致了我的 PHP 变量的持久性问题。

特别是我从 window.location.href = location.... 转到 window.reload()

<?php 

include 'class.Control.php';

$ControlEntryObject = new ControlEntry();

    class ControlEntry
    {
        public function __construct()  
        {   
            if( isset( $_FILES['ufile']['tmp_name'] ) )
            {
                if( ( $_FILES['ufile']['tmp_name']) != '' )
                    {
                    Control::upload( $_FILES['ufile']['type'], $_FILES['ufile']['tmp_name'] );
                    }
                else
                    {
                    Control::reload();
                    }
            }
            else if( isset($_POST['ajax_type']) )
            {
                Control::ajax( $_POST['ajax_type'] );
            }
            else
            {
               Control::reload();
            }
        }
    }

最佳答案

您最好检查错误代码以查看上传是否成功,而不是检查临时文件名。

if( $_FILES['ufile']['error'] === UPLOAD_ERR_OK )
{
    // process upload
}

这样您的脚本就可以安全地处理 get 和 post 请求。

关于php - $_FILES 何时创建/清除 |与 javascript 重新加载的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8994823/

相关文章:

php - Apache 抛出 "Parse error: syntax error, unexpected ' 类'”

php - 在不使用 ON CASCADE 的情况下在 PHP 代码的各行中准备语句

javascript - 在以宽度为百分比创建后获取 d3.js SVG 元素的像素宽度

javascript - 使用 jquery 将 fadeIn 更改为滑动

php - CodeIgniter 查询构建

php - 在循环中取消链接不起作用

php - 如何从 php API 运行 casperJS 脚本

javascript - 在 Canvas 上添加不同的平行线

javascript - 单击工具栏按钮时,将触发tinyMCE 3.5模糊事件

javascript - 在自动完成表单上输入 onkeydown 功能