파일에서 2~5째 줄만 삭제하려면?
본문
php언어를 이용해서
한 php 파일에서
2~5째 줄만 삭제하려면 어케해야 하죠?
문제는 이러한 파일이 여러개이라서
단순히 수작업으로는 곤란해서 입니다.
감사합니다.
답변 3
쉘이 편하긴 하죠..ㅎㅎ
<?php
$filename = "test.txt";
$fp = fopen($filename, "r") or die("파일열기에 실패하였습니다");
$line = 0;
while(!feof($fp)){
$content = fgets($fp);
if($line < 2 || $line > 4)
{
$buffer .= $content;
//echo $line.":" .$content."<br>";
}
$line = $line+1;
}
fclose($fp);
$fp = fopen($filename, "w") or die("파일열기에 실패하였습니다");
//echo $buffer;
fwrite($fp, $buffer);
fclose($fp);
?>
현재 디렉토리(.)밑으로(하위에 있는 모든 서브디렉토리 포함) type이 file인것중,
파일명이 .php로 끝나는 모든 파일을 찾아서 다음 명령을 exec(실행)해라.
sed -i '2,5d' {} \; -> 그 찾은 파일들을 2번째줄부터 5번째줄까지 지워라(delete)
$output = `find . -type f -name '*.php' -exec sed -i '2,5d' {} \;`;
echo "<pre>$output</pre>";
Is it OK?
!-->$lines = file("파일명.txt"); 하면 행별로 배열순서로 값이 들어가는데 이렇게 처리하면 안되나요?
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
2~5 라인은 제외하고 다시 파일로 써주면,,,
답변을 작성하시기 전에 로그인 해주세요.