Как сгенерировать html страницу по id через htaccess

Torino
На сайте с 20.09.2013
Offline
25
1071

Здравствуйте! Подскажите пожалуйста, есть вот такой сервис http://banners.m18.ru/upload/

При загрузке картинки выдает уникальную страницу. Страница генерируется php скриптом скорее всего через htaccess по id.

Не могу понять, как это сделать. Как сгенерировать эти уникальные HTML страницы, чтобы в них подставлялись картинки и баннеры, если физически этих страниц не существует. Помогите пожалуйста!)

[umka]
На сайте с 25.05.2008
Offline
456
#1

RewriteEngine on

RewriteRule ^([^\.])\.html$ script.php?id=$1 [L]

А скриптом выдаёте странички и пр.

Лог в помощь!
Torino
На сайте с 20.09.2013
Offline
25
#2

А вместо $1 в id=$1 нужно что-то подставлять?

Mad_Man
На сайте с 10.11.2008
Offline
162
#3

Torino, товагищ, откройте глаза и внимайте.

На сайте есть точка входа. Она одна. Назовём её index.php. Данная чудо-страница может принимать параметры следующего вида:

index.php?id=1

index.php?id=2

index.php?id=3

...

index.php?id=n

После указания параметра, код в странице index.php будет искать (по базе, по файлам, прочим местам) файл, соответствующий данной параметру id.

.htaccess нужен лишь для создания алиасов страниц. Он позволяет следать следующее: пусть все обращения site.ru/index.php?id=1 будут также доступны и по адресу site.ru/1.

На этом вся сложность заканчивается.

Torino
На сайте с 20.09.2013
Offline
25
#4

Все равно не пойму. Смысл в том, чтобы дать заказчику ссылку на просмотр страницы с картинкой (showImage.php). Эта страница для каждого заказчика должна быть уникальной. У меня есть файл index.php, в котором есть форма загрузки файлов. После того, как файл загружен, ниже показывается ссылка для перехода на следующую страницу (showImage.php) для просмотра и скачивания этого файла.

Файл index.php:


<?php
header('Content-Type: text/html; charset= utf-8');
session_start();
?>
<form action="<?=$_SERVER['REQUEST_URI']?>" method="post" enctype="multipart/form-data">
<input type="file" name="form_file">
<input type="submit" name="submit" value="Загрузить баннер">
</form>
<?php

if($_SERVER['REQUEST_METHOD'] == 'POST'){
$temp = $_FILES['form_file']['tmp_name'];
$form_file = $_FILES['form_file']['name'];
if($form_file){
move_uploaded_file($temp, "images/".$form_file);
$image_name = $_FILES['form_file']['name'];
$_SESSION['image'] = $image_name;

?>
<a target="_blank" href="showImage.php?id=<?=$_SESSION['image']?>">http://<?=$_SERVER["HTTP_HOST"]."/".$image_name?></a>
<?php
}
}
?>

Файл showImage.php:


<?php
header('Content-Type: text/html; charset= utf-8');
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
$id = $_SESSION['image'];
$type = end(explode(".", $image));
if($type == "jpg" || $type == "gif" || $type == "png"){
echo "<img src='images/$id'>"."<br>";
?>
<a href="download.php?file=images/<?=$image?>">Скачать</a>
<?php
}
if($type == "swf"){
echo "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' width='200' height='300' id='banner' align='middle'>";
echo "<param name='allowScriptAccess' value='sameDomain' />";
echo "<param name='allowFullScreen' value='false' />";
echo "<param name='movie' value='images/$id' />";
echo "<param name='wmode' value='opaque' />";
echo "<param name='quality' value='high' />";
echo "<param name='bgcolor' value='#ffffff' />";
echo "<param name='flashvars' value='status=' />";
echo "<embed src='images/$id' wmode='opaque' quality='high' bgcolor='#ffffff' width='200' height='300' name='banner' align='middle' allowScriptAccess='sameDomain' allowFullScreen='false' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />";
echo "</object>"."<br>";
?>
<a href="download.php?file=images/<?=$image?>">Скачать</a>
<?php
}
if($type == "docx" || $type == "doc" || $type == "xlsx" || $type == "xlsm" || $type == "xls" || $type == "pdf" || $type == "txt"){
?>
<a href="download.php?file=images/<?=$image?>">Скачать файл <?=$image?></a>
<?php
}
?>
</body>
</html>

Вот как сделать страницу showImage.php уникальной для каждого заказчика, как здесь http://banners.m18.ru/upload/?

F
На сайте с 16.11.2012
Offline
56
#5


Action throw "file.php"
AddHandler throw html
В file.php формируется страница в зависимости от REQUEST_URI
siv1987
На сайте с 02.04.2009
Offline
427
#6

Оффтоп

Torino:
end(explode(".",*$image))

end вроде принимает значение по ссылке, а по ссылке вроде передаются только переменные.

Mad_Man
На сайте с 10.11.2008
Offline
162
#7
siv1987:
Оффтоп


end вроде принимает значение по ссылке, а по ссылке вроде передаются только переменные.

Насколько помню, на старых версиях за подобное был бы "warning", сейчас подняли до "fatal error".

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий