foreach()中的php foreach()
我试图打开多个文件,然后按行分割每个文件。我使用它与一个foreach()中的php foreach(),php,file,list,foreach,lines,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($my
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
是空的。我怀疑你的$fh=fopen($myfile,'r')
正在锁定文件,因此文件()
无法访问它。您似乎没有使用该文件句柄(事实上,您稍后将覆盖该变量),因此只需删除该行,就可以了
编辑:哦,显然变量名是区分大小写的。你不能交换
$myfile
和$myfile
你能把打印出来吗代码>紧跟在$lines=file($myFile)之后代码>并在这里报告结果?您正在使用$myfile
和$myfile
@TaZ,这些鹰眼。是的,它是小写/大写的,所以请查看glob()
和file()
和str_getcsv()
以最小化代码。请注意,您不是在创建Excel文件,而是在创建.csv
输出。