Помощь - Поиск - Пользователи - Календарь
Полная версия: Вывести Из Базы Слово
Форум Php-Nuke > Форумы разработчиков > Вопросы по PHP
nikolass
У меня ест txt файл с 1000 словами.
На странице сайта имеется 7 ссылок.( <a href.........> A </a>)
Мне надо чтобы вместо буквы А в ссылках вставлялись разные слова из файла txt-выборочно
Как это сделать.

Я ввел
$s = file_get_contents('1.TXT');
fwrite($fileopen,"<a href='.....>$s</a>\n");

Так у меня выводится все слова из файла txt - а надо одно выборочно
nikolass
Хороший ответ-но там я ничего не понял

Кто знает конкретней ответьте
Miha_hard
Цитата
из файла txt-выборочно

имелось ввиду - случайно?
Если да то слова как в файле расположены? построчно или через пробел?
Small
Ну там же по русски написано:
Используя разделитель " " вы получите массив ваших слов
Ну а потом оперируете им
nikolass
Цитата(Miha_hard @ 31.3.2008, 18:05) *

имелось ввиду - случайно?
Если да то слова как в файле расположены? построчно или через пробел?

Слова расположены в столбик по одному
Miha_hard
Код

<?
$random = file("base.txt");
srand((float) microtime() * 10000000);
$rand_line = array_rand($random, 3);
echo "<a href=#>".$random[$rand_line[0]] . "</a><br>";
echo "<a href=#>".$random[$rand_line[1]] . "</a><br>";
echo "<a href=#>".$random[$rand_line[2]] . "</a><br>";
?>

это на три ссылки - Вам нужно семь - добавите строк по образцу и измените аргумент в array_rand
Вот пример http://rus-phpnuke.com/prim/randomlink/ у меня в базе 12 слов smile.gif
p.s. пустых строк в base.txt быть не должно..
nikolass
Miha_hard - Большое спасибо за ответ.
А можно сделать чтобы не зависело от количества ссылок.
Т.е если количество меняется щас 7 потом 27
Miha_hard
оно и не зависит.. изменяете аргумент - изменяется кол-во случайностей.
Вы если хотите чтоб Вас понимали - читайте мою подпись..

причем должен заметить что я то Вас понял.. Вам неохота линки писать.. но я -это не весь форум.. Хотите получать ответы - учитесь задавать вопросы...
Код

<?
$klink="3"; // кол-во ссылок
$random = file("base.txt");
srand((float) microtime() * 10000000);
$rand_line = array_rand($random, $klink);
for ($i = 0; $i <=$klink; $i++) {
echo "<a href=#>".$random[$rand_line[$i]] . "</a><br>";
}
?>                                  
nikolass
да я бы с радостью задавал правельно вопросы.Но PHP не знаю - и как правельно спросить
не хватает ума.
За ответы спасибо
Miha_hard
хм.. линки то разные должны быть..
и одна строка тут не нужна вообще..
Код

<?
$klink="3";
$random = file("base.txt");
$rand_line = array_rand($random, $klink);
$way = file("link.txt");
$way_line = array_rand($way, $klink);                                                  
for ($i = 0; $i <=$klink; $i++) {
echo "<a href=http://".$way[$way_line[$i]].">".$random[$rand_line[$i]] . "</a><br>";
}
?>


и насчет знания php - для того чтоб вопрос задать (поставить задачу точнее) знаний в программировании не требуется..
результат работы все там же
nikolass
А может быть разница в базе .TXT или .dat
Miha_hard
нет. важен формат, а не расширение.
Old_Chroft
Цитата(nikolass @ 2.4.2008, 16:27) *

А может быть разница в базе .TXT или .dat
Нет, никакой разницы из-за расширения файла нет. Скорее всего, у Вас слова все-таки записаны с одну строку, а не по одному слову в строчке. Windows и *nix по разному читают переносы. Откройте свой .dat в простом "Блокноте" и посмотрите — я сам сколько раз на этом попадался smile.gif
nikolass
Нашел скрипт для базы Xss - который берет с базы ссылку и вставляет в нее URL и ключевое слово( которые вводишь в окне)
и создает страницы с сылками
Вопрос.При вводе нескольких ключевых слов выводятся одинаковые сылки (на один и тот же сайт) с разными ключевыми словами - а надо одну ссылку на один сайт.

Также как сдесь сделать вместо Ссылки и Страница вводить произвольные слова из базы
База типа:
абажур
аббат
аббатиса
аббатство
аббревиатура
аберрация
абзац
абитуриент
абляут
аболиционизм
аболиционист


Код
<?php

require_once('iface.php');

echo page_header(':-)');

// ---------------------------------------------
function make_links($url, $links_text)
{

  $links = file_get_contents('links.dat');
  $links = explode ("\n", $links);

  
  $links_text = trim($links_text);
  $links_text = explode ("\n", $links_text);


  $j=90;
  $k=1;
  $fl=1;
  foreach ($links as $link)
  {
      
     //echo count($links);
     $l = str_replace('##URL##', $url, $link);

     for ($i=0;$i<count($links_text);$i++)
     {
     if (($j-90)==0)
      {
        $fileopen=fopen("links".$fl.".html","w+");
        $fl++;
        $j=0;
        $k++;
      }
     $l1 = str_replace('##TEXT##', urlencode($links_text[$i]), $l);
     fwrite($fileopen,"<a href=".$l1.">Ссылки</a>\n");
     $j++;
     }
  }

$fileopen=fopen("index_links.html","w+");
for ($i=1;$i<$k;$i++)
for ($S = 0; $S <=$klink; $S++)
  fwrite($fileopen,"<a href='links".$i.".html'>Страница</a>\n");

}
// ---------------------------------------------

if (isset($_POST["url"]))
{
  make_links($_POST["url"], $_POST["links_text"]);
} else
  {
    echo show_form();
  }


?>
Miha_hard
nikolass ну выше же как раз такой пример.
nikolass
Да ну как правильно воткнуть .Вставляю и при запуске выдается ошибка.
Miha_hard
ну так пишите что и как "втыкаете", куда и что получается за ошибка.
p.s. пользуйтесь bbcode форума! Предупреждение.
nikolass
Ну я и Дуб.Нифига не получается как хотелось.
Ладно еще вопрос - В конце скрипта создаются странички с сылками.Как эти странички с сылками разместить в заведомо созданный шаблон html и чтобы были уже готовые страницы HTML.
Miha_hard
1. вписать html в сам скрипт
2. результат выполнения загнать в переменную и вызывать ее в нужном месте, подключив файл скрипта через include.
3. использовать любую технологию темплейтов - FastTemplate, Smarty, phpBBTemplate
nikolass
Может кто за деньги переделает мне скрипт.Сброшу файлы.За готовые заплачу.
Miha_hard
да какой скрипт то? Все же написали уже.
Вы можете нормально объяснить что хотите?
nikolass
Блин ну писал же.
Скрипт берет из базы Xss ссылку, вставляет в ссылку адрес сайта и ключевого слова.
На выходе создает странички с сылками. На главной ссылки подписаны как "страница"
на второстепенных ссылки подписаны "ссылки" (как в скрипте вверху).

Надо чтобы странички создавались по шаблону (<html><title><body> текст любой и т.д)- т.к там создаются токо ссылки.
И вместо слов "Ссылки" "Страницы" вставлялись слова выборочно из файла со словами
FYVA
Цитата(Miha_hard @ 31.3.2008, 18:26) *

Код

<?
$random = file("base.txt");
srand((float) microtime() * 10000000);
$rand_line = array_rand($random, 3);
echo "<a href=#>".$random[$rand_line[0]] . "</a><br>";
echo "<a href=#>".$random[$rand_line[1]] . "</a><br>";
echo "<a href=#>".$random[$rand_line[2]] . "</a><br>";
?>

это на три ссылки - Вам нужно семь - добавите строк по образцу и измените аргумент в array_rand
Вот пример http://rus-phpnuke.com/prim/randomlink/ у меня в базе 12 слов smile.gif
p.s. пустых строк в base.txt быть не должно..


Это вставка текстовых ссылок из файла. Мне нужна ротация картинок-ссылок. ???
Miha_hard
FYVA во первых не этот код а вот этот: http://rus-phpnuke.com/forum/index.php?s=&...ost&p=93551
Во вторых кто вам мешает заменить в файле названия ссылок на названия картинок и вписать в цикл тег img?
Или вовсе использовать вот такой код: http://rus-phpnuke.com/modules.php?name=Fo...pic&t=13287
FYVA
Цитата
хм.. линки то разные должны быть..
и одна строка тут не нужна вообще..
Код

<?
$klink="3";
$random = file("base.txt");
$rand_line = array_rand($random, $klink);
$way = file("link.txt");
$way_line = array_rand($way, $klink);
for ($i = 0; $i <=$klink; $i++) {
echo "<a href=http://".$way[$way_line[$i]].">".$random[$rand_line[$i]] . "</a><br>";
}
?>


Хорошо. $random = file("base.txt"); - сюда вставляем названия картинок. Так? А где прописываются ссылки? Ведь необходимо, что бы конкретная картинка вела к конкретной странице.

Цитата
Или вовсе использовать вот такой код: http://rus-phpnuke.com/modules.php?name=Fo...pic&t=13287

Здесь, насколько я понял ссылки ведут к МОДУЛЯМ (по названию модулей), а необходимо к страницам контента.

Простите за возможный кретинизм.
Miha_hard
http://rus-phpnuke.com/prim/randomlink/index2.php
Код
<?php
srand((float) microtime() * 10000000);
$input = file("bs.txt");
$rand_keys = array_rand($input, 2);
$bs=$input[$rand_keys[0]];
$bsl=explode(":", $bs);
echo "<a href=\"http://rus-phpnuke.com/modules.php?name=News&t=".$bsl[0]."\"><img border=0 src=\"http://rus-phpnuke.com/images/topics/".$bsl[1]."\"></a>";
?>

Цитата(bs.txt)

1:phpnuke.gif
2:news.gif
3:php.gif
4:money.gif
5:moduli.gif
6:blok.gif
7:software.gif
8:links.gif
10:themes.gif
11:promo.gif
12:design.gif
13:hosting.gif
FYVA
Простите, но не могу понять - где привязка конкретной картинки к ее ссылке.
Miha_hard
ба.. каждая строка состоит из двух частей разделенных двоеточием..
первая_часть_ссылка:вторая_часть_картинка
То что у меня там цифры, так это просто у меня (как и у вас в контенте) только цифрами отличаются ссылки и писать весь урл целиком нет смысла.
Но можете конечно и полностью написать раз вам так не понятно..
FYVA
Офигеть (простите), в жисть не догадался бы...
Спасибо.

Все хорошо, но картинка выводится над блоком, а не в нем. А в блоке пишет - нет содержимого для данного блока.
FYVA
Miha_hard, ответьте, пожалуйста.
Простите за флуд.
Miha_hard
FYVA предупреждение за то, что не читаете школу. в блоках используется переменная $content а не echo

http://rus-phpnuke.com/modules.php?name=Co...go=show&p=2
FYVA
Цитата(Miha_hard @ 29.8.2008, 12:44) *

FYVA предупреждение за то, что не читаете школу. в блоках используется переменная $content а не echo

Да, как-то не обратил внимание...виноват
СПАСИБО
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2014 Invision Power Services, Inc.