[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подскажите как сделать...
WarMan
Мужики, я в PHP не особо варю, надеюсь на вашу помощь.
Пытаюсь сделать скриптик вывода заданного количества строк из заданного файла. Загвостка в том, что строки предварительно нужно перемешать, причем единожды, только при первой загрузке скрипта. При обновлении страницы должен быть набор строк, загруженный первоначально - именно это не получается.
Вот что сам накалякал, подскажите как сделать....
<?php
error_reporting(0);
@$test=@file("test.txt");
shuffle($test);
$count=3;
for ($i=0;$i<$count;$i++)
echo $test[$i]."<br>";
?>




Спустя 8 минут, 30 секунд (29.06.2011 - 18:53) bulgakov написал(а):
Например так:



if(file_exists('test.txt')){
$file = file('test.txt');
shuffle($file);
for($i=0; $i<3; $i++){
echo $file[$i].'<br/>';
}
}

else{
echo 'Файл не создан';
}


Спустя 2 часа, 9 минут, 50 секунд (29.06.2011 - 21:03) WarMan написал(а):
bulgakov, спасибо! но при обновлении страницы уже показанные строки перемешиваются опять и выдается другой результат.... Как сделать, чтобы строки из файла перемешивались только при первом обращении?
Эти строки будут подгружаться в разные файлы. Нужно, чтобы для каждого файла был свой набор строк, но при этом чтоб он был статичным и не менялся каждый раз... как то так... подскажи пожалуйста.

Спустя 29 минут, 49 секунд (29.06.2011 - 21:33) Tod написал(а):
попробуй использовать сессию

Спустя 54 минуты, 37 секунд (29.06.2011 - 22:27) WarMan написал(а):
да если бы еще знать как... я не программист PHP, так, балуюсь только, знания самые элементарные. Потому и пишу сюда спецам )

Спустя 1 час, 47 минут, 43 секунды (30.06.2011 - 00:15) walerus написал(а):
<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<
title>First 3 string</title>
</
head>
<
body>

<?php
error_reporting(E_ALL);
$count = 3;

// Проверили есть ли файл
if (!file_exists("test.txt"))
{
echo "Файл отсутствует";
die;
}

// Считываем в массив файл
$test = file("test.txt");

// Проверяем перемешивался ли массив, наличием "тест-файла"
if (!file_exists('test_shuffle_done'))
{
// Если не перемешивался
shuffle($test); // мешаем массив
file_put_contents('test_shuffle_done', 'done'); // Записываем "тест-файл",для следующей проверки
}

// забираем первых 3 строки
$result = array_slice($test, 0, $count);

// выводим результат, в виде массива
print_r($result);
?>
</body>
</
html>

Немного топорно, но я не знаю всех целей этого скрипта, мб можно и иначе сделать...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.