jano

Рейтинг
169
Регистрация
06.07.2011
Дикий пионер:

<?php
$uri = $_SERVER['REQUEST_URI'];

$cache_dir = __DIR__.DIRECTORY_SEPARATOR;
$filename = md5($uri);
if (file_exists($cache_dir.$filename)
echo file_get_contents($cache_dir.$filename);
else
{
ob_start();
//генерация страницы начало
/* ... тут код страницы ... */
//генерация страницы завершение
$html = ob_get_clean();
echo $html;
$html = str_replace("'", "", $html);
file_put_contents($cache_dir.$filename,$html);
}
?>

Как-то так, только порядок аргументов у file_put_contents проверьте, мог ошибиться.

Спасибо за ответ. Но почему-то не работает.

Всем спасибо!!

web2033:
так ты по пятому кругу уже оказывается спрашиваешь, еще и носом крутишь тут?)
/ru/forum/900438

:) - сейчас про обычные цифры, нужно модернизировать код

<? echo rand(1, 90000);?>

, что бы не выводил повторов.

web2033:
<?php

$min = 1;
$max = 90000;
$all = 1000;

$array = range($min, $max);

$nums = array_rand($array, $all);
shuffle($nums);

foreach($nums as $num) {
echo $array[$num].'<br>';
}
?>

Спасибо. А зачем <br> ? Цифры ведь в разных местах будут.

Данный код нужен для того, что бы выводить картинки: kartinka<? echo rand(1, 90000);?>.jpg

И код какой-то очень весомый.

LEOnidUKG:
ТС, вы просто не программист вот и всё. У вас ничего не будет работать. Я вам написал полностью рабочий код, далее даже ещё за вас про картинку дали. А вы чушь какую-то пишите.

Всё будет работать.

---------- Post added 19-06-2015 at 22:45 ----------

Mad_Man:
http://php.net/manual/ru/control-structures.foreach.php

Перед тем, как писать, нужно научиться читать. Довольно простой совет, позволяющий избежать много глупых ситуаций.

спасибо, почитаю

---------- Post added 19-06-2015 at 22:46 ----------

Mad_Man:
Оператива будет быстро выжираться при росте количества изображений. Есть вариант с просадкой по камню, а не по мозгу:


function rand_unique($min, $max, $count)
{
$result = [];

while (count($result) < $count)
{
$result[] = mt_rand($min, $max);

$result = array_unique($result);
}

return $result;
}


$numbers = rand_unique(1, 30000, 200);




Ну и тоже самое, но только с оптимизацией:

public static function rand_unique($min, $max, $count)
{
$result = [];

for ($i = 0; $i < $count; $i++)
{
$result[] = mt_rand($min, $max);
}

$result = array_unique($result);

while (count($result) < $count)
{
$number = mt_rand($min, $max);

if (!in_array($number, $result))
{
$result[] = $number;
}
}

return $result;
}

Большое спасибо, попробую

proksey-net:
а почему он должен выводить 10 разных, если вы берете одно и то же значение $n?

А как будет правильно указать разные значения $n?

web2033:
вместо
echo $n.'.jpg';

echo '<img src="folder_to_images/' .$n. '.jpg" alt="картинка номер ' .$n. '">';


<?
$filename=range(1, 10);
shuffle($filename);
$filename=array_slice($filename,0,10);
foreach ($filename as $n)
?>

<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>

Протестировал, что-то не так, выводит только 10 одинаковых картинок, а не рэндомно 10 без повторов.

---------- Post added 19-06-2015 at 21:36 ----------

LEOnidUKG:
<?
$filename=range(1, 30000);
shuffle($filename);
$filename=array_slice($filename,0,200);
foreach ($filename as $n)
{
echo $n.'.jpg';
}

Скрипт не так работает, выводит 10 одинаковых картинок.


<?
$filename=range(1, 10);
shuffle($filename);
$filename=array_slice($filename,0,10);
foreach ($filename as $n)
?>

<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
<? echo '<img src="pics/' .$n. '.jpg" alt="pics ' .$n. '">'; ?>
LEOnidUKG:
выводить контент в этом месте:
echo $n.'.jpg';

А где и как его нужно выводить это вы должны делать.



---------- Post added 19-06-2015 at 12:43 ----------

web2033:
вместо
echo $n.'.jpg';

echo '<img src="folder_to_images/' .$n. '.jpg" alt="картинка номер ' .$n. '">';

Большое спасибо!

LEOnidUKG:
<?
$filename=range(1, 30000);
shuffle($filename);
$filename=array_slice($filename,0,200);
foreach ($filename as $n)
{
echo $n.'.jpg';
}

Большое спасибо, но не совсем понял, как выводить контент и где прописывать путь до картинок.

LovelAss:
Регулярку замените на

#([0-9]+)#

Огромное человеческое спасибо! ;)

Всего: 424