foreach()中的foreach()

时间:2013-03-10 17:11:35

标签: php file list foreach lines

我正在尝试打开多个文件,然后逐行拆分每个文件。我使用一个foreach()来浏览文件,并在其中使用另一个foreach()来分割文件的行。

$dir = '../mydir';
$files = scandir($dir, 1);
foreach($files as $input){
    if(($input!==".")&&($input!=="..")){
        $myfile="../mydir/".$input;
        $fh = fopen($myfile, 'r');
        echo $input."... ";
        $input = substr($input,0,-4);
        $FN = "../mydir/out.".$input.".xls";
        $FH = fopen($FN, 'w') or die("Can't open file!");
        $lines = file($myFile);
        foreach($lines as $line) {
        list($OPT1,$OPT2) = explode(",", $line);
            fwrite($FH, $OPT1);     
        }
        echo "Done.";
    }
}

但我的$OPT1是空的。

1 个答案:

答案 0 :(得分:0)

我怀疑您的$fh = fopen($myfile,'r')锁定了该文件,因此file()无法访问该文件。您似乎没有使用该文件句柄(事实上您稍后会覆盖该变量)所以只需删除该行,您就应该很好。

编辑:哦,显然变量名称是区分大小写的。您无法互换$myfile$myFile