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 に答える