Форум успешных вебмастеров - GoFuckBiz.com

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

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

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

возвращает массив 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,227
Бабло: $373635
По умолчанию

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

Цитата:
Сообщение от 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);

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

а лочить файл не?
seocoder вне форума  
Старый 17.04.2010, 06:43   #6
0xDEAD
Senior Member
 
Аватар для 0xDEAD
 
Регистрация: 03.11.2009
Сообщений: 152
Бабло: $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,345
Бабло: $456525
По умолчанию

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

Цитата:
брать из этого файла 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,227
Бабло: $373635
По умолчанию

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



Опции темы
Опции просмотра