为foreach php提供的参数无效

为foreach php提供的参数无效,php,mysql,mysqli,foreach,Php,Mysql,Mysqli,Foreach,有人介意检查下面的php代码吗返回: 警告:中为foreach()提供的参数无效 /第27行的home/myhosthere/public_html/test_info/download.php config.php <? $host="localhost"; $user="dbuser"; $password="password"; $database="db"; $conn = mysqli_connect($host,$user,$password,$database); ?&

有人介意检查下面的php代码吗返回:

警告:中为foreach()提供的参数无效 /第27行的home/myhosthere/public_html/test_info/download.php


config.php

<?
$host="localhost";
$user="dbuser";
$password="password";
$database="db";
$conn = mysqli_connect($host,$user,$password,$database);

?>

提前感谢。

该函数可以返回
false

返回一个数组,其中每个元素对应一行文本。当传递的目录无效时,返回
FALSE

因此,这将使
$arr_文件
为假。PHP的有趣之处在于,它为
count(false)
返回1

因此,您需要测试这种情况:

 if ($arr_files !== false)

无需检查计数,因为
foreach
循环无论如何都不会迭代。

使用
var\u dump
检查变量的实际类型以及此时包含的内容。替换
$arr\u files=ftp\u rawlist($conn\u id,'./upload')
$arr_files=array()$arr_files=ftp_原始列表($conn_id'。/upload')
 if ($arr_files !== false)