2016-12-05 3 views
0

Я довольно новичок в PHP и пытаюсь удалить все строки, где появляется любой экземпляр строковой переменной 'user'. Мой текущий кодПрочитайте все строки в файле и удалите Containg Some String

if($action == "removeUser") 
{ 
foreach(file('users.txt') as $line) 
{ 
    if (strpos($line, $parameters) !== false) 
    { 
     $line = ""; 
    } 
} 
} 

По какой-то причине это, по-видимому, не имеет никакого эффекта. Что я делаю не так?

ответ

0

Вам необходимо открыть файл и прочитать строки.

<?php 

if($action == "removeUser") 
{ 
    $filename = "users.txt"; 

    // Open your file 
    $handle = fopen($filename, "r"); 

    $new_content=''; 

    echo "Valid input: <br><br>"; 
    // Loop through all the lines 
    while($line = fgets($handle)) 
    { 

     //try to find the string 'user' - Case-insensitive 
     if(stristr($line,"user")===FALSE) 
     { 
     // To remove white spaces 
     $line=trim($line); 

     if($line!='') echo $line."<br>"; 

     //if doesn't contain the string "user", 
     // add it to new input   
     $new_content.=$line."\n"; 
     } 
    } 

    // closes the file 
    fclose($handle); 

    $new_content=trim($new_content); // Remove the \n from the last line 

    echo "<br>Updating file with new content..."; 
    file_put_contents($filename,$new_content); 
    echo "Ok"; 
} 

?> 
+0

Я новичок в php, это помогло много – Reloaded

+0

в любом случае, чтобы удалить пробел? – Reloaded

+0

Да, вы можете удалить пробелы и пустые строки, используя $ line = trim ($ line); –

Смежные вопросы