php в php или где ошибка...

Discussion in 'PHP' started by ufaclub, 24 Nov 2010.

  1. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?php $id JRequest::getInt'id'1'get' );?>
    получаю уникальный номер страницы


    вывожу уникальный номер страницы
    PHP:
    <?php echo $id ;?>


    нужен скрип который будет подключаться к удаленному хостингу и брать инфу из папкой /$id/url.php

    тоесть id будет равен- 1,2,3,4,5,6,7,8,9,10....

    для каждого id будет создана свой папка....



    как мне правильно засунуть эту переменную в другой пшп скрипт?


    PHP:
    <?php
    echo file_get_contents('http://site.ru/path/<?php echo $id ;?>/url.php'); 
    ?>

    и можно ли сделать чтоб в зависимости от id файл брался не из пронумерованной папки а из строчки

    тесть в файле url.php лежат ссылки каждая ссылка в отельной строчке

    мне над такую функция (скрипт чтоб выводила в зависимости от id соответствующую строчку)


    если id=1 то берется первая ссылка (строчка из файла url.php ) (берется и выводиться в результате работы скрипта - всего 1 ссылка)

    если id=2 то берется вторая ссылка (строчка из файла url.php ) (выводиться в результате работы скрипта - всего 1 ссылка - вторая в файле url.php )


    как реализовать?
     
    #1 ufaclub, 24 Nov 2010
    Last edited: 24 Nov 2010
  2. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    PHP:
    <?php 
    echo file_get_contents("http://site.ru/path/$id/url.php");  
    ?>
    PHP:
    <?php 
    $id 
    JRequest::getInt'id'1'get' );
    $data =  file_get_contents("http://site.ru/path/url.php");  
    $data_as_array explode("\n",$data);
    echo 
    $data_as_array[$id];
    ?>
     
    #2 bad_boy, 24 Nov 2010
    Last edited: 24 Nov 2010
  3. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0


    спасибо а как через .htaccess зашиться от просмотра файла http://site.ru/path/url.php

    чтоб file_get_contents брал файл
    а когда человек через браузер заходил - то получал бы

    тип файл недоступен или введите пароль...

    короче нужно файл http://site.ru/path/url.php зашитить от просмотра..
     
  4. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    использую сейчас такой код

    PHP:
    <?php $id JRequest::getInt'id'1'get' );
     
    $file file("http://site.ru/link.php");
     
    $cnt count($file);
     if (
    $id $cnt) echo $file[$id]; 
    else echo 
    $file[0];?>


    алгоритм такой...

    в файле link.php 20 строчек


    если айди больше 20 то брать первую строчку...

    а как сделать чтоб он как бы по кругу гонял...
    как бы сказать я эти 20 строчек скопировал и вставил
    получилось 2 массива по 20 ссылок
    в итоге 40 ссылок - 20 из них уникальных

    так сделал - и у меня получилось 1000 строчек.

    зато все id попадают на какую то ссылку

    короче мне над алгоритм подправить

    допустим получился id 55

    скрипт видит что пустая строчка - и отнимает - (количество строчек (20)) снова на пустую строчку попадает снова 20 (колличество ссылок) отнимает и попадает на 15 строчку. а в ней запись - вот эту запись и надо вывести.... :rolleyes:
     
  5. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    В начале вставь такой код
    PHP:
    if(!isset($_GET['pass']) || md5($_GET['pass'])!= '_тут_хэш_пароля') die('Hi, bro');
    А ссылку получай так
    PHP:
    $data =  file_get_contents("http://site.ru/path/url.php?pass=_пароль_");  
    Второй вопрос не понял, возможно. Ну попробуй так
    PHP:
    $id JRequest::getInt'id'1'get' ); 
    $id $id 20;
    В данном случае "20" - количество строк, которые выводятся.
     
    #5 bad_boy, 24 Nov 2010
    Last edited: 24 Nov 2010
  6. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    Второй вопрос не понял, возможно. Ну попробуй так
    PHP:
    $id JRequest::getInt'id'1'get' ); 
    $id $id 20;
    В данном случае "20" - количество строк, которые выводятся.[/QUOTE]


    ну вот скрипт выводи одну строчку из всего файла
    в файле всего 20 строчек

    если получается что id 25 то скрипт выведет пустую строчку, или как добавленно выше новое услове. - введет первую ссылку (строчку)

    а мне надо чтобы он вывел - 5 (тоесть если айди 25 то надо отднять 20 строчек, 20 строчек - это тоже временное значение - оно со временнем все больше и больше будет)

    алгоритм таков:


    выводиться $строка из файла url.php

    $строка = $id
    но если строка - пустая то условие : $строка = $id - количество занятых строк.

    тоесть если id - 45, а в файле url.php - всего 20 строк
    то нужно вывести 45-20 = 25 строку, а так как 25 строка тоже пустая то снова 25-20 =5 строка

    получаеться уменьшать значение id ровно на колличество всех строк столько раз пока появиться не пустая строка...
     
  7. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    Тогда в url.php вставь строку $id = $id % 20;

    Пусть $id ==45.
    45 % 20 == 5.
    % - остаток от деления(mod).
    Пусть есть выражение A = B % C. Это значит, что A никогда не привысит C по значению.
     
  8. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0

    из url.php береться первая строка....

    например

    PHP:
    <a href="http://www.site.ru/" target="_blank" >
    если я вставлю

    PHP:
     $id $id 20
    то у меня первая строчка которая береться будет $id = $id % 20;

    и вот насчет значения 20 - оно должно быть переменное.
    тоесть сегодня 20 - завтра 30...

    как нить нельзя это число вычислить?

    PHP:





    <?php
    if($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php')
    echo 
    '<a href="http://www.site.ru/" target="_blank" >';
    else
    $id JRequest::getInt'id'1'get' );
    $file file("http://site.ru/url.php"); 
    $cnt count($file);
    if (
    $id $cnt) echo $file[$id]; 
    else echo 
    $file[0];
    ?>


    надо тогда сделать чтоб он не с первой строчки брал а со второй...

    так как в первой строчке будет значение <?php $id = $id % 20; ?>