т.е есть файл, в файле есть разные записи по порядку например
Запись 1
Запись 2
Запись 3
Запись 4
Запись 5
мне нужно записать ети записи в базу попорядку, т.е я ставлю скрипт на крон и когда он запускается записуются в базу всегда разные записи, например при первом запуске записалось
Запись 2
Запись 5
Запись 1
а при втором
Запись 4
Запись 5
Запись 1
как такое сделать?
Ну например строки файла загоняешь в массив, а потом записываешь в базу строки с рандомным идентификатором.
11 Янв 2013, 18:17TOOZ, Можешь написать маленький примерчик? я как то не очень умею с файлами работать.
11 Янв 2013, 18:19$strs = file('file.txt');
$max = count($strs);
$rand = rand(0, $strs);
echo $strs[$rand];
добавлено спустя 2 минуты:
Или shuffle($strs); и твой массив строк уже будет размещен в случайной последовательности и просто заноси в БД по порядку.
shuffle'ом лучше пользуйся.
$strs = file('file.txt');
shuffle($strs);
а дальше for'ом или любым другим циклов последовательно выводи (вернее записывай в БД). Записи уже рандомно, без повтора отсортированы.
function getRandStr()
{
$file = file_get_contents('file.txt');
$arr = explode($file, "\n");
$rnd = $arr[rand(0, count($arr))];
return $rnd;
}
$rnd писать в базу, если надо уникальную запись, то как вариант проверять в бд есть ли такая запись, если есть, то вызывать функцию которую рекурсивно, пока не запишет то, чего нет в БД.