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
icon_wink.gif
кстати вначале так и было
как раз смотрел что там в массиве
//$n = file($line_n);
//echo ($n[0]);
я закоментированные строки не писал просто
незнал что лучше выбрать
по скорости вроде одинаковое всё
цитата
02/12/11 в 18:15
 ibiz
Lexikon писал:

по скорости вроде одинаковое всё


надо смотреть на миллионах операций
по скорости preg_replace должен проигрывать trollface.png
цитата
02/12/11 в 18:26
 Lexikon
буду прикручивать это дело к генератору. icon_smile.gif
потихоньку по маленьку что то получается
может так и научусь icon_rolleyes.gif
правда вначале немного не так думал, думал что будет на циклах будет работать, но что то кроме бесконечных циклов ничего не выходило, потом решил сделать так как сейчас.
цитата
02/12/11 в 18:50
 ibiz
Lexikon писал:
буду прикручивать это дело к генератору. icon_smile.gif
потихоньку по маленьку что то получается
может так и научусь icon_rolleyes.gif
правда вначале немного не так думал, думал что будет на циклах будет работать, но что то кроме бесконечных циклов ничего не выходило, потом решил сделать так как сейчас.


крон чаще чем раз в минуту не запустишь
можно делать по 10-1000 операций за один крон
бесконечный цикл это по типу while(1), таких не должно быть, все остальное просто не укладывается в цпу/память trollface.png
цитата
02/12/11 в 19:15
 Lexikon
Если для моих целей то настроив крон на раз в минуту это генерация одной страницы в минуту а значит 1440 сгенерированных в сутки ))) это даже дохуище smail101.gif
---
а чтоб на локальной машине можно было Cron использовать что для этого нужно сделать???
цитата
02/12/11 в 21:05
 samedi
Что-то не очень понял, что вы тут делаете. icon_smile.gif

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 сгенерированных в сутки ))) это даже дохуище smail101.gif

Зачем тебе крон? Убери ограничение по памяти и времени, генерируй за один проход.
цитата
02/12/11 в 21:23
 Lexikon
samedi писал:

Зачем тебе крон? Убери ограничение по памяти и времени, генерируй за один проход.


Неа, тут это не прокатит, эьл для теста в работе с продвижением в гугле.
Этот товарищь обнаружа что все файлы в одно время сгенерины и забанит нах.
Так то у меня есть скрипт который всё мигом генерит icon_wink.gif

А так спасибо!
цитата
02/12/11 в 21:54
 ibiz
samedi писал:

Зачем читать весь файл целиком в память, чтобы потом получить только первую строку?


так файл состоит из 1 строки всегда, думаешь будет выигрыш? trollface.png
цитата
02/12/11 в 22:09
 samedi
ibiz писал:
так файл состоит из 1 строки всегда, думаешь будет выигрыш? trollface.png


Ну тогда нужно делать file_get_contents и не морочить голову.
цитата
02/12/11 в 22:28
 ibiz
samedi писал:
Ну тогда нужно делать file_get_contents и не морочить голову.


ну да верно file_get_contents быстрее file,
меня смутило наличие preg_replace trollface.png
цитата
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() запишу всё в массив, но не тут то было smail101.gif
Написал вот это:

<?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 провозился и всё впустую icon_confused.gif
цитата
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 провозился и всё впустую icon_confused.gif

Купи книгу Котерова.
цитата
03/12/11 в 10:39
 Lexikon
Спасибо!
Книгу уже заказал. icon_wink.gif
Стр. « первая   <  1, 2, 3


Эта страница в полной версии