PHP输入/文件未拾取要上载的文件

PHP输入/文件未拾取要上载的文件,php,elgg,Php,Elgg,我是个新手,我正在尝试允许用户上传视频。然而,我的问题也可能与php有关 因此,我使用以下代码设置了我的表单: echo elgg_view("input/file", array('name' => 'video', 'accept' => 'video/*')); 它设置了一个控件,允许用户上载文件。我的动作文件中充满了许多防御性编程,以确保文件在那里。当我尝试上传视频时,出现以下错误,这将我指向这段代码: // must not be empty if a file is p

我是个新手,我正在尝试允许用户上传视频。然而,我的问题也可能与php有关

因此,我使用以下代码设置了我的表单:

echo elgg_view("input/file", array('name' => 'video', 'accept' => 'video/*'));
它设置了一个控件,允许用户上载文件。我的动作文件中充满了许多防御性编程,以确保文件在那里。当我尝试上传视频时,出现以下错误,这将我指向这段代码:

// must not be empty if a file is present in the upload
    if( empty($_FILES['video']['name']) ) {
        $error = elgg_echo('No file to upload!');
        register_error( $error );
        forward( REFERER );
    }
我完全不知道问题出在哪里,我已经尝试了大约两天了。我指的是其他一些利用Elgg中文件上传的插件,比如文件插件和TidyPics插件

所有的帮助和提示都将提前感谢。谢谢。

尝试在if语句之前打印($\u文件),然后执行exit(),看看这是否会给您一些线索。我本来会将此作为评论发布,但我还没有足够的代表点,因为我还不熟悉堆栈溢出。

根据

Enctype表单属性(默认为空)。你需要通过考试 如果您希望表单创建文件,请使用“多部分/表单数据”的值 上传

试一试-


您是否验证过您的视频文件大小小于和/或?我没有,这会有区别吗?我试图上传的视频只有2MB大。我还测试了其他文件,它们返回相同的错误。我还尝试将$u文件['video']['error']附加到错误中,但它只返回空白?…在
php中
post_max_size
的默认值是2MB,因此如果您的文件+任何其他数据为2.01MB或更大,则会导致上载失败,
$u文件[]
将是一个空数组。啊,我不知道这一点。我将尝试增加php.ini文件中的post_max_大小,看看是否有效。您的表单enctype=“multipart/form data”是否正确?没问题。我会很快尝试。我会得到一个空白屏幕,上面打印着“Array()”。我假设这意味着那里什么都没有?未选择任何文件?如果我尝试打印\u r($\u FILES['video']['name'])或仅打印$\u FILES['video']),则返回一个空白的白色屏幕。浏览器未将文件发送到服务器,或服务器因大小限制而拒绝该文件。是否可以复制/粘贴打开表单标记的html标记?您的表单类型属性是什么?它应该是多部分/表单数据(不要完全引用我的话)…哦,等待NVM,其他人也说过同样的话thing@mimber谢谢:),答案已经解决了。未设置的是enctype属性。
echo elgg_view('input/form', array('enctype' => 'multipart/form-data', ...));