我正在尝试打开多个文件,然后逐行拆分每个文件。我使用一个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
是空的。
答案 0 :(得分:0)
我怀疑您的$fh = fopen($myfile,'r')
锁定了该文件,因此file()
无法访问该文件。您似乎没有使用该文件句柄(事实上您稍后会覆盖该变量)所以只需删除该行,您就应该很好。
编辑:哦,显然变量名称是区分大小写的。您无法互换$myfile
和$myFile
。