PHP:как взять из текстовика 1к строк 1м махом - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.7196
BTC/USD65091.0298
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 17.04.2010, 01:55   #1
Dadee
Шоколатье
 
Аватар для Dadee
 
Регистрация: 20.04.2007
Сообщений: 5,973
Бабло: $726105
По умолчанию PHP:как взять из текстовика 1к строк 1м махом

Есть текстовый файл, который наполняется некими скриптами
нужно другим скриптом брать из этого файла 1000 строк на обработку, при этом убрав из исходного файла эти 1000 строк.
как быстрее всего это сделать?
Dadee вне форума  
Старый 17.04.2010, 02:01   #2
Final Fantasy
private.
 
Аватар для Final Fantasy
 
Регистрация: 30.04.2008
Сообщений: 3,864
Бабло: $462680
По умолчанию

возвращает массив 1000 строк.
PHP код:
<?
function golines()
{
 
$file 'исходный файл.txt';
 
$limit 1000;
 
$file file($file);
 
$lines = array();
 foreach(
$file as $index => $value)
 {
  
$lines[] = trim($value);
  if(
$index == $limit) break;
 }
}
?>
Final Fantasy вне форума  
Старый 17.04.2010, 02:06   #3
kanscx
Senior Member
 
Аватар для kanscx
 
Регистрация: 03.04.2007
Адрес: www.ua
Сообщений: 3,209
Бабло: $373635
По умолчанию

Можно считать весь массив ф-цией file, потом вырезать 1к строк функцией array_splice и то что осталось записать назад.
kanscx вне форума  
Старый 17.04.2010, 02:20   #4
Dadee
Шоколатье
 
Аватар для Dadee
 
Регистрация: 20.04.2007
Сообщений: 5,973
Бабло: $726105
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от kanscx Посмотреть сообщение
Можно считать весь массив ф-цией file, потом вырезать 1к строк функцией array_splice и то что осталось записать назад.
я чёто похожее соорудил, вроде работает и даже быстро. всем спасибо.

PHP код:
function getGrand ($phile)
{
    
$accs=file($phile);
    
$fp=fopen($phile,"w");
   for (
$jj 0$jj <= 1000$jj++) 
    {
    
$acc.=$accs[$jj];
    unset(
$accs[$jj]);
    }
    
fputs($fp,implode("",$accs));
    
fclose($fp);

    return 
trim($acc);

Dadee вне форума  
Старый 17.04.2010, 03:05   #5
seocoder
хуйнанэ
 
Аватар для seocoder
 
Регистрация: 03.04.2007
Сообщений: 1,294
Бабло: $126446
Отправить сообщение для seocoder с помощью Skype™
По умолчанию

а лочить файл не?
__________________
webparadox
seocoder вне форума  
Старый 17.04.2010, 06:43   #6
0xDEAD
Senior Member
 
Аватар для 0xDEAD
 
Регистрация: 03.11.2009
Сообщений: 151
Бабло: $20330
По умолчанию

Лайт-версия
PHP код:
function cut_lines($file_name) {
    
$f file($file_nameFILE_IGNORE_NEW_LINES);
    
file_put_contents($file_nameimplode(PHP_EOLarray_slice($f1000)));
    return 
array_slice($f01000);

0xDEAD вне форума  
Старый 17.04.2010, 08:51   #7
mavook
Профи Интернет коммерции
 
Аватар для mavook
 
Регистрация: 04.04.2007
Сообщений: 2,344
Бабло: $456535
По умолчанию

я хз как вы file работаете
у меня дорген вис и долго думал када я файлом 100 метровые файлы считывал пришлось перейти на фгетс и фсиик
mavook вне форума  
Старый 17.04.2010, 11:14   #8
medar
кодер-энтузиаст
 
Аватар для medar
 
Регистрация: 04.04.2007
Адрес: Джамайка
Сообщений: 3,381
Бабло: $447150
По умолчанию

Цитата:
брать из этого файла 1000 строк на обработку, при этом убрав из исходного файла эти 1000 строк
Для таких вещей все-таки проще юзать базу данных, mysql ту же.
А то в один прекрасный момент что-нить случится и в файлик при удалении этих 1000 строк запишется null и все похерится.
Ну и объёмы с mysql можно гораздо большие ворочать.
medar вне форума  
Старый 17.04.2010, 11:22   #9
pina
хде мой компот?!
 
Регистрация: 07.01.2008
Сообщений: 327
Бабло: $31276
Отправить сообщение для pina с помощью ICQ
По умолчанию

. .
pina вне форума  
Старый 17.04.2010, 11:59   #10
kanscx
Senior Member
 
Аватар для kanscx
 
Регистрация: 03.04.2007
Адрес: www.ua
Сообщений: 3,209
Бабло: $373635
По умолчанию

Цитата:
Сообщение от mavook Посмотреть сообщение
я хз как вы file работаете
у меня дорген вис и долго думал када я файлом 100 метровые файлы считывал пришлось перейти на фгетс и фсиик
Конечно от планируемых объемов зависит, если дохуя то фгетс надо юзать.
kanscx вне форума