Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2012, 10:39   #1
HDMI
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 48
По умолчанию Случайное изображение на PHP

Добрый день. Столкнулся с такой задачей. Скрипт то написал, но есть проблема. Мне нужно сделать ссылку вида: http://.../image.jpg . Чтобы при каждом запросе к данной картинке выводились разные изображения. Куда копать? Если со скриптом, который выводит случайное изображение, то обращение идет к скрипту http://.../image.php , что не подходит.
HDMI вне форума Ответить с цитированием
Старый 19.10.2012, 12:10   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

ModRewrite вам в помощь
ADSoft на форуме Ответить с цитированием
Старый 19.10.2012, 12:15   #3
snippet
Пользователь
 
Регистрация: 17.10.2012
Сообщений: 37
По умолчанию

Решение

PHP код:
$arrFiles scandir('/tmp');
$arrFiles array_slice($arrFiles 2);
if(
count($arrFiles)>0){
    echo 
$arrFiles[rand(0,count($arrFiles))];

Обучающая информация
PHP код:
<?php

$dir    
'/tmp';
//Сканируем директорию и возвращаем массив элементов
$files1 scandir($dir);

print_r($files1);
/* Результатом будет нечто вроде:
Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
*/

//Сдвигаем элементы
$input = array("a""b""c""d""e");

$output array_slice($input2);      // returns "c", "d", and "e"
?>
Здесь это решение для htaccess:
http://www.000webhost.com/forum/web-...che-maybe.html

Короче в htaccess суй
RewriteEngine On
RewriteBase /
RewriteRule image.jpg image.php

Заставляет сервер обрабатывать ссылку на image.jpg как image.php (Это ваш скрипт) и усё
http://dev-snippet.com

Последний раз редактировалось snippet; 19.10.2012 в 12:31.
snippet вне форума Ответить с цитированием
Старый 19.10.2012, 14:13   #4
HDMI
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 48
По умолчанию

Сделал как написано выше. Получилось не совсем то, что нужно. Открывается по ссылке нормально, но есть одно но.

Например, если в Опере открыть картинку в отдельном окне, то будут прописаны название картинки и еще разрешение. Т.е. там действительно должна быть картинка, а не скрипт. Сейчас же выводит название скрипта. Может прописать надо в header информацию? Надо заставить браузер думать, что он открыл картинку по прямой ссылке, а не скрипт, который выводит картинку

Правка: вывожу изображение так:

Код:
Echo "<img src=\"$imgdir$ranfile.".$ext."\">";
Как нужно выводить, чтобы браузер думал, что это картинка?

Последний раз редактировалось HDMI; 19.10.2012 в 14:27.
HDMI вне форума Ответить с цитированием
Старый 19.10.2012, 16:07   #5
snippet
Пользователь
 
Регистрация: 17.10.2012
Сообщений: 37
По умолчанию

PHP код:
$image_from_file imagecreatefromjpeg($filename);
header('Content-type: image/jpeg');
imageinterlace($image_from_file ,1);
imagejpeg($image_from_fileNULL100); 
http://dev-snippet.com
snippet вне форума Ответить с цитированием
Старый 19.10.2012, 16:13   #6
snippet
Пользователь
 
Регистрация: 17.10.2012
Сообщений: 37
По умолчанию

Только это не универсальный способ, это только для jpeg'a, универсальный можно очень легко сделать если нужно будет пишите.
http://dev-snippet.com
snippet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Случайное число от -10 до 10 Banner Общие вопросы C/C++ 3 23.02.2012 16:28
Случайное число rommster Общие вопросы C/C++ 13 09.10.2010 15:11
Случайное число. Alex Cones Свободное общение 27 06.06.2010 09:54
Случайное слово StudentMarat Помощь студентам 6 16.04.2010 15:59
случайное число Дініс Общие вопросы C/C++ 3 07.10.2009 23:03