массивы — указатель переместить в строки и удалить их в php, как мне это сделать?

У меня есть строки как

abc
def
ghi
jkl
mno
pqr
xyz

Я хочу взять первые 4 строки и удалить их?

Я использую файл

$datafile="/var/www/html/test/data/$data";
$fp = fopen($datafile,"r");

Я застрял здесь! Как переместить указатель, как использовать массив или любой буфер ??

0

Решение

$array = file("/var/www/html/test/data/$data");
$array = array_slice($array, 4);
0

Другие решения

Ты можешь использовать file_get_contents() чтобы получить содержимое файла, а затем преобразовать его в массив, используя preg_split(), После того, как у вас есть массив строк; просто используйте array_slice() вырезать массив из индекса, который вы хотите … в вашем случае 4. Код ниже показывает, как …

<?php

// THE TEXT FILE TO BE READ:
$targetFile             = "/var/www/html/test/data/$data";

// GET THE CONTENTS OF THE FILE & STORE IT IN A VARIABLE (IF IT EXISTS)
$strFileContents        = null;
if(file_exists($targetFile)){
$strFileContents    = file_get_contents($targetFile);
}

// EVERY LINE IN A IS TERMINATED BY A NEW LINE CHARACTER.... WE KNOW THAT.
// SO WE SPLIT THE CONTENTS OF THE FILE USING THIS KNOWLEDGE...
if(!is_null($strFileContents)){
$arrFileLines   = preg_split("#\n#", $strFileContents);

// SELECT ALL ELEMENTS FROM THE 4TH ELEMENT TILL THE END
$arrResultant   = array_slice($arrFileLines, 4);

// CONVERT THE ARRAY BACK TO STRING...
$strBuffer      = implode("\n", $arrResultant);

// RE-SAVE THE FILE BACK...
file_put_contents($targetFile, $strBuffer);
}

Или даже очень кратко;

<?php

// THE TEXT FILE TO BE READ:
$targetFile             = "/var/www/html/test/data/$data";
if(file_exists($targetFile)){
$arrFileLines       = file($targetFile);
if(!empty($arrFileLines) && count($arrFileLines) > 4){
// SELECT ALL ELEMENTS FROM THE 4TH ELEMENT TILL THE END
$arrResultant   = array_slice($arrFileLines, 4);

// CONVERT THE ARRAY BACK TO STRING...
$strBuffer      = implode("", $arrResultant);

// RE-SAVE THE FILE BACK...
file_put_contents($targetFile, $strBuffer);

}
}

Ура … и удачи 😉

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector