С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 15/03/08 в 11:19 |
нужен простенький скрипт
на сраничке урлы вида
path/url/?id01
path/url/?id02
...
path/url/?id10
а в файлике прописываю базу типа
id1 = http:/realurl.com/bla/bla1
id2 = http:/realurl.com/bla/bla2
что то типа этого, интересны варианты на php и cgi
с меня +3
|
|
|
|
С нами с 19.10.05
Сообщения: 351
Рейтинг: 755
|
Добавлено: 15/03/08 в 12:32 |
Код: | <?
$url=$_SERVER['QUERY_STRING'];
$file=file('url.txt');
array_walk($file,create_function('&$v,$k','global $url;$e=explode("=",trim($v));if(eregi("^".trim($e[0])."$",$url)){header("location:".trim($e[1])."");};'));
?> |
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 15/03/08 в 15:08 |
Спасибо, но как это все заюзать пхп для меня темный лес- создал файл c этим кода допустим link.php и базу вопрос в базе как прописать, икак вызвать линк со странички
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 15/03/08 в 15:58 |
Newestage писал: | Спасибо, но как это все заюзать пхп для меня темный лес |
Создать в блокноте файл, например index.php
Вставить этот код и залить его в папку url
В большинстве случаев index.php автоматически будет подхватываться и всё должно заработать.
Ну и не забудь создать файл со списком урлов (url.txt) в той же директории.
З.Ы. Я бы реализовал по другому. Без регулярок и файла, например такой код:
Код: |
<?php
$sponsor=array(
1=>'http://12313.com',
2=>'http://test.com',
3=>'http://google.com/');
$id=intval($id);
if (array_key_exists($id,$sponsor))
header("Location: ".$sponsor[$id]);
else header("Location: test1.ru");
?>
|
Просто создать файл, например, go.php и вставить этот код.
Урлы будут вида: site.com/путь к файлу/go.php?id=XXX
где XXX код (номер) твоей ссылки.
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 15/03/08 в 16:01 |
-=Faraon=- писал: | Код: | <?
$url=$_SERVER['QUERY_STRING'];
$file=file('url.txt');
array_walk($file,create_function('&$v,$k','global $url;$e=explode("=",trim($v));if(eregi("^".trim($e[0])."$",$url)){header("location:".trim($e[1])."");};'));
?> | |
вообщем вызывал его так link.php?id1
но если линк в базе содержит ? то после него все режется, в т.ч. и рефкод,
ща попробую второй вариант
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 15/03/08 в 16:10 |
taj писал: | Создать в блокноте файл, например index.php
Вставить этот код и залить его в папку url
В большинстве случаев index.php автоматически будет подхватываться и всё должно заработать.
Ну и не забудь создать файл со списком урлов (url.txt) в той же директории.
З.Ы. Я бы реализовал по другому. Без регулярок и файла, например такой код:
Код: |
<?php
$sponsor=array(
1=>'http://12313.com',
2=>'http://test.com',
3=>'http://google.com/');
$id=intval($id);
if (array_key_exists($id,$sponsor))
header("Location: ".$sponsor[$id]);
else header("Location: test1.ru");
?>
|
Просто создать файл, например, go.php и вставить этот код.
Урлы будут вида: site.com/путь к файлу/go.php?id=XXX
где XXX код (номер) твоей ссылки. |
этот работает вараиант. Только два вопроса вместо test1.ru просто свой домен вбить? или что там ? И второй предполагается порядка 150 ссылок не будет ли он секунды 3-4 думать прежде чем начнет открывать линк? т.е. это скоростной вариант скрипта или может быть быстрее?
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 15/03/08 в 16:14 |
этот вариант будет точно быстрее первого.
test1.ru - на этот адрес будут все кто перешёл по ссылки которой нету в базе.
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 15/03/08 в 16:21 |
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 15/03/08 в 16:26 |
Newestage писал: | а со сложными линками почему то неработает например |
если про мой вариант то так нужно:
Код: |
<?php
$sponsor=array(
1=>'http://cash.com/PROMO/pics/8115/?nats=MjEzNDI5NTQ6NTo0,0,0,0,3217&prob=10'
);
$id=intval($id);
if (array_key_exists($id,$sponsor))
header("Location: ".$sponsor[$id]);
else header("Location: test1.ru");
?>
|
http://www.somedomain.com/catalog/script1.php?id=1
Причин чтоб не работало не вижу.
Попробуй включить вывод ошибок (добавь в самое начало:
Error_Reporting(E_ALL & ~E_NOTICE);
и скажи что выводит)
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 15/03/08 в 16:43 |
taj писал: | если про мой вариант то так нужно:
Код: |
<?php
$sponsor=array(
1=>'http://cash.com/PROMO/pics/8115/?nats=MjEzNDI5NTQ6NTo0,0,0,0,3217&prob=10'
);
$id=intval($id);
if (array_key_exists($id,$sponsor))
header("Location: ".$sponsor[$id]);
else header("Location: test1.ru");
?>
|
http://www.somedomain.com/catalog/script1.php?id=1
Причин чтоб не работало не вижу.
Попробуй включить вывод ошибок (добавь в самое начало:
Error_Reporting(E_ALL & ~E_NOTICE);
и скажи что выводит) |
там выше привел пример как раз сложной ссылки т.е. это все ссылка на спонсора через еще один скрипт сюда даже вся длинна не входитhttp://www.somedomain.com/catalog/script1.php?adr=http://cash.com/P…I5NTQ6NTo0,0,0,0,3217&prob=10
ошибок не выводит, я думаю это из за того что в ссылки на спонсора есть script1.php?adr=
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 15/03/08 в 16:49 |
Только что проверил, всё работает.
Единственный косяк:
$id=intval($id);
заменить на
$id=intval($_GET['id']);
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 15/03/08 в 17:14 |
Точно все работает спасибо потестю на большом массиве
|
|
|
|