警告:为foreach()提供的参数无效

时间:2016-07-26 09:49:02

标签: php loops foreach php-5.6

我正在尝试创建文件上传系统,它提供了foreach()提供的无效参数

if(isset($_POST['prd_submit'])){
// Define Input Variables
    $name = user_input($_POST['prd_name']);
    $detail =  user_input($_POST['prd_detail']);
    $image = $_POST['prd_image'];
    $buy_link = user_input($_POST['prd_link']);
    $price = user_input($_POST['prd_price']);
    $category = $_POST['prd_category'];
    $country = $_POST['prd_country'];
    // Control Error Inputs
    if(empty($name)){
        $name_err = "Name is missing";
    }
    if(empty($detail)){
        $detail_err = "Detail is missing";
    }
    if(empty($image)){
        $image_err = "Image is missing";
    }else{
    $File = $image;
    $OutFiles = array();
        foreach($File as $Index=>$Items){
            foreach($Items as $Key=>$Item){
                $OutFiles[$Key][$Index] = $Item;
            }
        }
    print_r($OutFiles);
    die();

请帮助我如何解决它。因为我无法知道提供错误的东西

2 个答案:

答案 0 :(得分:2)

您无法使用$ _POST获取文件数据,请使用$ _FILES

$image = $_FILES['prd_image'];

答案 1 :(得分:0)

元素$image = $_POST['prd_image'];必须是数组数组。

var_dump($image)语句之前执行foreach,看看它是否是预期的数组。

此外,哪个foreach会给您错误?