0

我正在尝试打开多个文件,然后逐行拆分每个文件。我正在使用它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的是空的。

4

1 回答 1

0

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

编辑:哦,显然变量名是区分大小写的。你不能互换$myfile$myFile

于 2013-03-10T17:17:04.087 回答