Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > актуальные домены для ссылки


Автор: viperson 5.1.2009, 22:51
Здравствуйте спецы. Помогите решить задачку. Учусь на курсах и на контрольной задали такой вопрос:  Есть ссылка типа http://site.com/news.php?add=news335(видео ролик новостей). Эта ссылка находится на 10 000 страниц сайта, Но домен раз в день меняется и ссылка соответственно становится не рабочей, а руками править на 10 к страниц не реально. Каждый день уже не site.com а site2.com, site3.com и тд. Как организовать в html странице скрипт, который реализует подстановку правильного домена из файла domains.txt в момент нажатия на ссылку. Дали для примера скрипт из 3 файлов ниже, но это реализовано для удаленного сервера и для php, а мне надо для html и как вариант как то связать с php, то есть каждый раз при нажатии на ссылку http://<?=$mylink?>/news.php?add=news335 подставлялся домен из файла domains.txt. Буду очень благодарен. Желательно примерчики
################################################################
1.index.php

<?php
    //error_reporting(0);
    $file = "domains.txt";
    $domain = file_get_contents("cron/$file");
    $mylink = "$domain";
?>
Example 1: <?=$mylink?><br>
Example 2: <a href="<?=$mylink?>/news/">News</a>


2.cron/get_domain.php

<?php
    error_reporting(0);
    $file = "domains.txt";
    $domain = file_get_contents("http://site.com/domain.php?id=news1"); // поставьте правильный линк из вашей учетной записи 
    if($domain != "")
    {
        $fp = fopen($file, "w");
        flock($fp, LOCK_EX);
        fputs($fp, $domain);
        fclose($fp);
        echo "Done";
    }
?>

3. domains.txt

1. Залейте папку cron на свой сервер
2. Установите на нее права доступа 777
3. Настройте крон yourserver/cron/get_domain.php на запуск каждый час, или каждые 30 минут. Чаще не рекомендуется, т.к. это будет создавать лишнюю нагрузку на наш сервер.
4. В файле /cron/get_domain.php поставьте правильный линк для забора актуального домена из вашего раздела DOMAINS
5. С помощью скрипта mypromo.php можно увидеть пример домена

Смысл этой схемы в следующем:
крон crons/get_domain.php с заданным вами интервалом времени будет обращаться на наш сервер, копировать домен exe и сохранять его на ваш сервер (хостинг) в файле cron/domain.txt
Скрипт промо, на который будет идти траффик, (в нашем случае index.php) считывает сохраненный домен и формирует на основе его свежий линк для скачивания exe

################################################################

Автор: feosr 5.1.2009, 22:58
эм... просто из файла конфига берется переменная типа $home_url='http://site666.com/'; и все. Потом конфиг либо ручками правь, либо если домен меняется по какому-то правилу, то тогда надо писать обновлялку по этому правилу и раз в сутки запускать через CRON

Автор: viperson 6.1.2009, 00:59
Цитата
эм... просто из файла конфига берется переменная типа $home_url='http://site666.com/'; и все. Потом конфиг либо ручками правь, либо если домен меняется по какому-то правилу, то тогда надо писать обновлялку по этому правилу и раз в сутки запускать через CRON


Я уже понял как реализовать, но нужна помосчь спецов пхп. 
Вот есть ссылка http://site.com/news.php?news1
В моей html странице mnogonews.html я указываю ее как news.php?news1 без самого домена, где news.php в данной ссылке - мой пхп скрипт который лежит в корне моего домена, в котором задано правило, что нужно сделать редирект по ссылке news.php?news1, только в начале подставить домен вида http://site.com/ перед news.php?news1 взяв домен из файла domain.txt или config.php . Актуальный домен я сам руками каждый день прописываю в последнем. Пусть даже актуальный домен лежит в самом скрипте news.php -  не важно где прописана инфа об актуальном домене, то есть как реализуешь так реализуешь. Мне нужен рабочий скрипт короче, то есть пример рабочего кода.

Автор: theworldcreator 6.1.2009, 03:13
Цитата

Вот есть ссылка http://site.com/news.php?news1
В моей html странице mnogonews.html я указываю ее как news.php?news1 без самого домена, где news.php в данной ссылке - мой пхп скрипт который лежит в корне моего домена, в котором задано правило, что нужно сделать редирект по ссылке news.php?news1, только в начале подставить домен вида http://site.com/ перед news.php?news1 взяв домен из файла domain.txt или config.php .

Вопрос в том, как написать news.php? Примерно так:
Код

<?
$domain = 'site3.com';
header('Location: http://'.$domain.'news.php?add='.$_GET['add']);
?>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)