Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Подскажите простой скриптик
Новая тема
Ответить
цитата
15/03/08 в 11:19
Newestage
нужен простенький скрипт
на сраничке урлы вида
path/url/?id01
path/url/?id02
...
path/url/?id10
а в файлике прописываю базу типа
id1 = http:/realurl.com/bla/bla1
id2 = http:/realurl.com/bla/bla2
что то типа этого, интересны варианты на php и cgi
с меня +3
цитата
15/03/08 в 12:32
-=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])."");};'));
?>
цитата
15/03/08 в 15:08
Newestage
Спасибо, но как это все заюзать пхп для меня темный лес- создал файл c этим кода допустим link.php и базу вопрос в базе как прописать, икак вызвать линк со странички
цитата
15/03/08 в 15:58
taj
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 код (номер) твоей ссылки.
цитата
15/03/08 в 16:01
Newestage
-=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
но если линк в базе содержит ? то после него все режется, в т.ч. и рефкод,
ща попробую второй вариант
цитата
15/03/08 в 16:10
Newestage
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 думать прежде чем начнет открывать линк? т.е. это скоростной вариант скрипта или может быть быстрее?
цитата
15/03/08 в 16:14
taj
этот вариант будет точно быстрее первого.
test1.ru - на этот адрес будут все кто перешёл по ссылки которой нету в базе.
цитата
15/03/08 в 16:21
Newestage
а со сложными линками почему то неработает например
http://www.somedomain.com/catalog/script1.php?adr=http://cash.com/P I5NTQ6NTo0
,0,0,0,3217&prob=10
цитата
15/03/08 в 16:26
taj
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);
и скажи что выводит)
цитата
15/03/08 в 16:43
Newestage
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=
цитата
15/03/08 в 16:49
taj
Только что проверил, всё работает.
Единственный косяк:
$id=intval($id);
заменить на
$id=intval($_GET['id']);
цитата
15/03/08 в 17:14
Newestage
Точно все работает спасибо потестю на большом массиве
Новая тема
Ответить
Эта страница в полной версии