вывод строки поочередно на php

3.79K
.
SPONGE

Нужно чтобы при обновлении или переходи со страницы на страницу выводилась поочередно только одна строка из
$zapros=unserialize( trim( @file_get_contents('http://site.name/zapros/1zapros.php') ) );
$zapros=unserialize( trim( @file_get_contents('http://site.name/zapros/2zapros.php') ) );
$zapros=unserialize( trim( @file_get_contents('http://site.name/zapros/3zapros.php') ) );

ниже сам код (заплочу 200вмр)

* (+/-)
<?php
global $kol_zap;
if(!isset($kol_zap) or empty($kol_zap)){
$kol_zap="43";
}
$zapros=unserialize( trim( @file_get_contents('http://site.name/zapros/1zapros.php') ) ); 
$zapros=unserialize( trim( @file_get_contents('http://site.name/zapros/2zapros.php') ) );
$zapros=unserialize( trim( @file_get_contents('http://site.name/zapros/3zapros.php') ) ); 
$cz=(count($zapros)<$kol_zap)?count($zapros):$kol_zap;
for($i=0;$i<$cz;$i++){

$zap = str_replace('-',' ',$zapros[$i]);

if(strlen($zapros[$i])<2) continue;
echo <<<GGG
<li><b><a href="/{$zapros[$i]}/">{$zap}</a></b></li>
GGG;
}
?>
.

Я в той теме написал. Дублирую:
Вопрос ещё актуален?

.

да актуален

.
The Fast, Secure and Professional - Yii2

Строка должна меняться для всех юзеров или для каждого отдельно. Т.е. мне показывается файл 1, я обновляю и вижу второй файл. Когда другие заходят то у меня не меняется порядок.

.
Rakovskiy
The Fast, Secure and Professional - Yii2

У каждого пользователя свой порядок.

function nextKey(array $array, $cookieKey){
    $myKey = isset($_COOKIE[$cookieKey]) ? abs($_COOKIE[$cookieKey]) : 0;
    $nextKey = isset($array[$myKey]) && isset($array[$myKey + 1]) ? $myKey + 1 : 0;
    setcookie($cookieKey, $nextKey, time() + 86400);

    return $nextKey;
}



$files = [
    'data/file1.txt',
    'data/file2.txt',
];

$key = nextKey($files, 'slider');
$path = isset($files[$key]) ? $files[$key] : null;

if ($path && is_file($path)){
    $file = file_get_contents($path);

    echo $file;
}


$files - Массив с файлами которые нужно выводить.

Этот код будет выводить содержимое файла.
.
The Fast, Secure and Professional - Yii2

А, тебе строка нужна. Блин

.
Rakovskiy
The Fast, Secure and Professional - Yii2

Вот, указываешь путь в $path и всё.

function nextKey(array $array, $cookieKey){
    $array = array_keys($array);

    $myKey = isset($_COOKIE[$cookieKey], $array[$_COOKIE[$cookieKey]]) ? $_COOKIE[$cookieKey] : $array[0];
    $nextKey = isset($array[$myKey]) && isset($array[$myKey + 1]) ? $array[$myKey + 1] : $array[0];

    setcookie($cookieKey, array_search($nextKey, $array), time() + 86400);

    return $nextKey;
}



$path = 'http://site.name/zapros/3zapros.php';

$file = unserialize(file_get_contents($path));
$key = nextKey($file, 'slider');
$url = isset($file[$key]) ? $file[$key] : null;
$label = str_replace('-', ' ', $url);

echo '<li><b><a href="/' . $url . '/">' . $label . '</a></b></li>';
.

еще хочу добавить что это не двиг Джона

.

Мой вариант поочерёдного вывода строки:

function cnt() {
    global $kol_zap;
    if (!session_id()) session_start();
    if (!isset($_SESSION['cnt']) || $_SESSION['cnt'] >= $kol_zap) {
        $_SESSION['cnt'] = 1;
    } else {
        $_SESSION['cnt']++;
    }
    return $_SESSION['cnt'];
}

if ($kol_zap == '') {
    $kol_zap = '43';
}

$zapros = unserialize(trim(@file_get_contents('http://site.name/zapros/'. cnt() .'zapros.php')));

//$zapros = unserialize(trim(@file_get_contents('http://site.name/zapros/1zapros.php')));
//$zapros = unserialize(trim(@file_get_contents('http://site.name/zapros/2zapros.php')));
//$zapros = unserialize(trim(@file_get_contents('http://site.name/zapros/3zapros.php')));

(автор вроде бы говорил об оплате, но раз тут есть решения, то я никому не "насолю" своим)
.
The Fast, Secure and Professional - Yii2
# SPONGE (03.01.2016 / 11:44)
еще хочу добавить что это не двиг Джона
Под любой подойдёт.
Всего: 116