все еще борется с манипуляциями файлами PHP и CSV. Я постараюсь спросить об этом, чтобы я мог помочь.PHP для удаления последней строки CSV-файла
У меня есть файл CSV с примерно 4000 строк/строк, и я написал этот код для создания массива всего CSV и вытащил строку LAST из файла CSV для использования в моем скрипте. Код работает для всего этого успеха.
// CREATE ASSOCIATIVE ARRAY FROM LAST ROW OF CSV FILE
$csv = array();
if (FALSE !== $handle = fopen("Alabama-TEST.csv", "r"))
{
while (FALSE !== $row = fgetcsv($handle))
{
$csv[] = $row;
}
}
$new_csv = array();
foreach ($csv as $row)
{
$new_row = array();
for ($i = 0, $n = count($csv[0]); $i < $n; ++$i)
{
$new_row[$csv[0][$i]] = $row[$i];
}
$new_csv[] = $new_row;
}
переменные $ NEW_ROW последняя строка в CSV, и я могу использовать штраф данных. Но когда скрипт закончен, я хочу удалить эту последнюю строку с именем $ new_row.
Вот пример моего CSV-файла на вид сверху;
CITY ADDRESS STATE NAME
Birmingham 123 Park St. Alabama Franky
Поэтому я просто хочу удалить последнюю строку и сохранить заголовок сверху, в следующий раз, когда скрипт запускается. Я пробовал в течение 3 дней, пытаясь понять это, поэтому я надеюсь, что кто-то из тех, кто ЗНАЕТ, ЧТО ОНИ ОЗНАЧАЮТ, может помочь.
Вот код, который я попытался удалить с последней строки;
$inp = file('Alabama-TEST.csv');
$out = fopen('Alabama-TEST.csv','w');
or ($i=0;$i<count($inp)-1;$i++)
fwrite($out,$inp[$i]);
fclose($out);
Поскольку я использую большой файл размером около 4000 строк, есть ли способ сделать это, не используя слишком много памяти?
Поскольку $ n содержит количество строк, почему «$ i <$ n - 1» не разрешает? может быть, вы не объяснили себя правильно? – nrathaus
Код, который я показал, работает, чтобы получить переменную $ new_row отлично, поэтому ничего плохого в этом - я искал, чтобы удалить последнюю строку перед тем, как скрипт снова запустится. Я предполагал, что удалив $ new_row, что бы это сделать. Я добавлю над кодом, который я пытался удалить последнюю строку. –
Вы хотите написать новую версию Alabama-TEST.csv без последней строки? – nrathaus