是否可以用$ _FILES替换$ _POST

时间:2011-09-14 06:54:52

标签: php

对不起,如果我的英语没有语法......

可以用$ _FILES替换$ _POST吗?

在我的程序中,我将寄存器表单的所有信息复制到数组

喜欢这个

$this->RegistrationFields['profile_img'] = array( 'name' => 'Image','type' => 'BLOB', 'table' => 'users', 'field' => 'profile_img');

并使用foreach获取值

foreach( $this->RegistrationFields as $fields => $values )

之后检查字段是否设置

if( ! isset( $_POST['register_' . $fields] ) || $_POST['register_' . $fields] == '' )
        {
            $this->submittedValues[ $fields ] = $_POST['register_' . $fields];
            $this->errorLabels['register_' . $fields] = 'error';
            $this->errors[] = 'Field ' . $data['name'] . ' cannot be empty';
        }

但问题是它在上传图片时总是显示错误信息,

我想在检查图片 时我必须用$ _FILES 替换$ _POST,

所以我把

if ($fields == 'profile_img')
{
    //replace $_POST with $_FILES   
}

位于 ISSET 条件

之上

所以我的问题是:

是否有inbuld函数用$ _FILES替换$ _POST ????在* PHP *

编辑:或者我可以使用str_replace?

1 个答案:

答案 0 :(得分:1)

$_POST保存来自HTTP POST请求的数据到页面。

$_FILES包含与已上传文件相关的所有数据。

你无法交换这两个。如果您想查看文件是否已上传,请尝试使用

isset($_FILES['name'])

或(更好):

if(!$_FILES['error'])

哪会在任何地方上传文件时都会出错。