我尝试打开多个文件,然后按行拆分每个文件。我将它与一个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是空的。
发布于 2013-03-11 01:17:04
我怀疑你的$fh = fopen($myfile,'r')锁定了文件,所以file()无法访问它。您似乎没有使用该文件句柄(实际上,您稍后会覆盖该变量),因此只要删除该行就可以了。
编辑:哦,显然变量名是区分大小写的。您不能将$myfile和$myFile互换。
https://stackoverflow.com/questions/15325063
复制相似问题