Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Подскажите как правильно
Новая тема
Ответить
цитата
02/12/11 в 18:02
ibiz
я бы заменил это:
Код:
$n = file_get_contents($line_n);
$n = trim(preg_replace('/[^0-9,]/', '', $n));
на это
Код:
$n = file($line_n);
$n = trim($n[0]);
цитата
02/12/11 в 18:06
Lexikon
кстати вначале так и было
как раз смотрел что там в массиве
//$n = file($line_n);
//echo ($n[0]);
я закоментированные строки не писал просто
незнал что лучше выбрать
по скорости вроде одинаковое всё
цитата
02/12/11 в 18:15
ibiz
Lexikon писал:
по скорости вроде одинаковое всё
надо смотреть на миллионах операций
по скорости preg_replace должен проигрывать
цитата
02/12/11 в 18:26
Lexikon
буду прикручивать это дело к генератору.
потихоньку по маленьку что то получается
может так и научусь
правда вначале немного не так думал, думал что будет на циклах будет работать, но что то кроме бесконечных циклов ничего не выходило, потом решил сделать так как сейчас.
цитата
02/12/11 в 18:50
ibiz
Lexikon писал:
буду прикручивать это дело к генератору.
потихоньку по маленьку что то получается
может так и научусь
правда вначале немного не так думал, думал что будет на циклах будет работать, но что то кроме бесконечных циклов ничего не выходило, потом решил сделать так как сейчас.
крон чаще чем раз в минуту не запустишь
можно делать по 10-1000 операций за один крон
бесконечный цикл это по типу while(1), таких не должно быть, все остальное просто не укладывается в цпу/память
цитата
02/12/11 в 19:15
Lexikon
Если для моих целей то настроив крон на раз в минуту это генерация одной страницы в минуту а значит 1440 сгенерированных в сутки ))) это даже дохуище
---
а чтоб на локальной машине можно было Cron использовать что для этого нужно сделать???
цитата
02/12/11 в 21:05
samedi
Что-то не очень понял, что вы тут делаете.
ibiz писал:
я бы заменил
на это
Код:
$n = file($line_n);
$n = trim($n[0]);
Зачем читать весь файл целиком в память, чтобы потом получить только первую строку?
Код:
$handle = fopen("dat.txt", "r");
$first_string = fgets($handle);
$first_string = trim($first_string);
fclose($handle);
Смотрим дальше.
Код:
$line_n = fopen($line_n, "w");
fputs($line_n, $n+1);
fclose($line_n);
Здесь лучше заменить на file_put_contents.
Lexikon писал:
Если для моих целей то настроив крон на раз в минуту это генерация одной страницы в минуту а значит 1440 сгенерированных в сутки ))) это даже дохуище
Зачем тебе крон? Убери ограничение по памяти и времени, генерируй за один проход.
цитата
02/12/11 в 21:23
Lexikon
samedi писал:
Зачем тебе крон? Убери ограничение по памяти и времени, генерируй за один проход.
Неа, тут это не прокатит, эьл для теста в работе с продвижением в гугле.
Этот товарищь обнаружа что все файлы в одно время сгенерины и забанит нах.
Так то у меня есть скрипт который всё мигом генерит
А так спасибо!
цитата
02/12/11 в 21:54
ibiz
samedi писал:
Зачем читать весь файл целиком в память, чтобы потом получить только первую строку?
так файл состоит из 1 строки всегда, думаешь будет выигрыш?
цитата
02/12/11 в 22:09
samedi
ibiz писал:
так файл состоит из 1 строки всегда, думаешь будет выигрыш?
Ну тогда нужно делать file_get_contents и не морочить голову.
цитата
02/12/11 в 22:28
ibiz
samedi писал:
Ну тогда нужно делать file_get_contents и не морочить голову.
ну да верно file_get_contents быстрее file,
меня смутило наличие preg_replace
цитата
03/12/11 в 07:14
Lexikon
Кстати тут сталкнулся с проблемкой, есть директория, в ней есть файлы, получить список файлов у меня получилось
<?php
if ($handle = opendir('files')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo $file; // вывожу весь список файлов
}
}
closedir($handle);
}
?>
но как их занести в массив немогу сообразить
попробовал после каждой записи поставить "|"
$file = $file.'|';
в браузере отобразилось так:
pic0005.gif|pic0001.gif|pic0002.gif|pic0003.gif|pic0004.gif|
ну думаю сейчас через explode() запишу всё в массив, но не тут то было
Написал вот это:
<?php
if ($handle = opendir('files')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$file = $file.'|';
$array = explode('|', $file);
echo $array[0];
}
}
closedir($handle);
}
?>
и сново
pic0005.gifpic0001.gifpic0002.gifpic0003.gifpic0004.gif
только теперт без "|"
часа 2 провозился и всё впустую
цитата
03/12/11 в 10:30
samedi
Lexikon писал:
Кстати тут сталкнулся с проблемкой, есть директория, в ней есть файлы, получить список файлов у меня получилось...
Нужно или так
Код:
$file_list = scandir('files');
или так
Код:
$file_list = glob('files/*.gif');
Lexikon писал:
но как их занести в массив немогу сообразить
Чтобы добавить элементы в конец массива-списка нужно делать так $list[] = $value;
Твой код будет таким.
Код:
<?php
$file_list = array();
if ($handle = opendir('files')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$file_list[] = $file;
}
}
closedir($handle);
}
print_r($file_list);
?>
Lexikon писал:
pic0005.gifpic0001.gifpic0002.gifpic0003.gifpic0004.gif
только теперт без "|"
Потому что нужно было значения накапливать, а потом разделять.
Код:
<?php
if ($handle = opendir('files')) {
$files_in_string = '';
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$files_in_string .= $file . '|';
}
}
closedir($handle);
$array = explode('|', $files_in_string);
print_r($array);
}
?>
Lexikon писал:
часа 2 провозился и всё впустую
Купи книгу Котерова.
цитата
03/12/11 в 10:39
Lexikon
Спасибо!
Книгу уже заказал.
Стр.
« первая
<
1
,
2
,
3
Новая тема
Ответить
Эта страница в полной версии