2013-03-10 2 views
0

여러 파일을 열려고하고 있는데 각 파일을 한 줄씩 나눕니다. 나는이 파일을 찾아보기 위해 하나의 foreach()을 사용하고, 그 안에 파일의 라인을 나누기 위해 또 다른 foreach()을 사용하고있다.foreach()의 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은 비어 있습니다.

+1

'$ lines = file ($ myFile); 바로 뒤에'print_r ($ lines);'을 넣고 결과를 여기에보고 할 수 있습니까? –

+6

당신은'$ myfile'과'$ myFile'을 사용하고 있습니다. – TaZ

+2

@TaZ, 그 독수리 눈. – Shoe

답변

0

$fh = fopen($myfile,'r')이 파일을 잠그고있어 file()에 액세스 할 수 없다고 생각됩니다. 당신은 그 파일 핸들을 사용하는 것처럼 보이지 않습니다. (사실 당신은 변수를 덮어 쓰고 있습니다.) 그래서 그 라인을 지우면 좋을 것입니다.

편집 : 아, 그리고 분명히 변수 이름은 대소 문자를 구분합니다. $myfile$myFile을 교환 할 수 없습니다.