Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите пожалуйста с кодом
Форумы портала PHP.SU » » Вопросы новичков » Помогите пожалуйста с кодом

Страниц (1): [1]
 

1. Dgrad - 04 Ноября, 2011 - 09:58:25 - перейти к сообщению
Столкнулся с проблемой! В генераторе
есть макросы [HREFLINK], [HREFLINK-2], [HREFLINK-3] и т.д.

Каждый из этих макросов загружает случайную строчку(ссылку) из файлов links.txt; links2.txt; links3.txt соответственно!

Вот скрипт работы максроса [HREFLINK]

PHP:
скопировать код в буфер обмена
  1. if ($hreflinks !== FALSE) {
  2.         for ($i=0; $i<100; $i++){
  3.             if (!strstr($myshab, "[HREFLINK]")) break 1;
  4.             $hreflinks_s = sizeof($hreflinks) - 1;
  5.             $myshab=preg_replace("/\[HREFLINK\]/",
  6.             trim(str_replace(array('"', "'"), '', $hreflinks[mt_rand(0, $hreflinks_s)])) . '', $myshab, 1);
  7.         }
  8.     }  

Соответсвенно:

PHP:
скопировать код в буфер обмена
  1. $hreflinks=@file('data/mod/links.txt');


Мне нужно чтобы данный макрос([HREFLINK] или [HREFLINK-2] и т.д.) выводил не случайную строчку из файла, а сначала первую, потом вторую, потом третью и т.д.

Помогите решить эту проблему! плз...
2. LIME - 04 Ноября, 2011 - 10:57:41 - перейти к сообщению
.
3. Dgrad - 04 Ноября, 2011 - 11:31:23 - перейти к сообщению
[quote=LIME][/quote]
???
4. LIME - 04 Ноября, 2011 - 11:33:47 - перейти к сообщению
Dgrad щас перепишу лучше весь код по другому
(Добавление)
както так
PHP:
скопировать код в буфер обмена
  1. if ($hreflinks !== FALSE) {
  2. $arr=explode('[HREFLINK]',$myshab);
  3. $myshab='';
  4. $count=count($arr);
  5. for ($i=0;$i<$count;$i++) {
  6.         $myshab.=$arr[$i].trim(str_replace(array('"', "'"), '', $hreflinks[$i]));
  7. }

(Добавление)
остался вопрос что делать если не хватит ссылок в файле?
чем заменять?
(Добавление)
str_replace(array('"', "'"), '', $hreflinks[$i])
это зачем? если ссылки в файле обрамлены кавычками то их можно в trim() убрать
5. Dgrad - 04 Ноября, 2011 - 12:20:22 - перейти к сообщению
наконец то!!! Спасибо просто огромнейшее.! Только на 8-м форуме ты мне помог!
Сыылок хватит! Их будет столько же, сколько и страниц! Мне это для перелинковки сплогов нужно было! Чтобы например на 100 созданных страниц было ровно сто ссылок. Поэтому щас из 5-10 шаблонов(на каждом будет 100 страниц сделано) все страницы будут наглухо перелинкованы..

Еще раз огромное спасибо!!! Нереально помог!!
(Добавление)
[quote=LIME][/quote]А можно добавить еще в код какую нибудь функцию, чтобы он после взятой одной ссылки, больше ее не брал??
6. LIME - 04 Ноября, 2011 - 12:43:09 - перейти к сообщению
Dgrad пишет:
А можно добавить еще в код какую нибудь функцию, чтобы он после взятой одной ссылки, больше ее не брал??
тоесть в файле могут ссылки повторяться?
(Добавление)
я коечто отредактировал в коде выше
глупую ошибку сделал по невниманию
не критичную просто лишние вычисления делались
7. Dgrad - 04 Ноября, 2011 - 14:07:25 - перейти к сообщению
Вот смотри! есть прорамма для генерации дорвеев Red Button! Принцип простой. Выбираешь файл с ключами(txt файл в котором в столбик расположены ключевики)! В самом шаблоне сайта имееются макросы разные, вместо которых вставляются ключи. Ну ты наверное знаешь про это.
Вот мен интересует один макрос, который и вставляет в строчку из файла, в котором расположены ссылки.
Если я выбираю генерации по 100 ключам, то генератор делает мне 100 страниц по одному шаблону! Ранее в программе был один макрос [HREFLINK] который вставлял случайную ссылку из файла. Получалось, что на 100 страницах были случайные ссылки. Они могли повторяться а некоторые просто не попасть на страницы! Мне же нужно чтоб на каждой из 100 страниц стояло по одной ссылки из файла и они не повторялись. Я со своими "никакими" знаниями смог размножить этот макрос, но только вот так и не смог вывести ссылки подряд.!
Тот код что ты скинул он вставляет все правильно! Но только вот на каждой новой странице процесс повторяется! То есть если я сделаю 100 страниц, на каждой из которых будет по 3 макроса [HREFLINK] то на каждой из страниц я получу по три первых ссылки, а нужно чтобы они дальше шли. например:
1 страница - ссылки 1, 2, 3
2 страница - ссылки 4, 5 ,6
3 страница - ссылки 7, 8, 9
и т.д.

Или ты доделал это??
8. LIME - 04 Ноября, 2011 - 14:57:07 - перейти к сообщению
возможно я не понял но както так можно попробовать
PHP:
скопировать код в буфер обмена
  1. if ($hreflinks !== FALSE) {
  2. $arr=explode('[HREFLINK]',$myshab);
  3. $myshab='';
  4. $count=count($arr);
  5. for ($i=0;$i<$count;$i++) {
  6.         $myshab.=$arr[$i].trim(str_replace(array('"', "'"), '', array_shift($hreflinks)));
  7. }
  8. }
9. Dgrad - 04 Ноября, 2011 - 16:19:25 - перейти к сообщению
Вообще ничего не выдает теперь((
10. LIME - 04 Ноября, 2011 - 16:33:04 - перейти к сообщению
что даже первую страницу не заполняет?
11. Dgrad - 04 Ноября, 2011 - 16:39:56 - перейти к сообщению
LIME пишет:
что даже первую страницу не заполняет?

Неа.. Пустые места оставляет((
Может есть какая нибудь функция, которая запрещает повтор?? Я просто в php вообще не шарю. Html, Css могу, тут же вообще никак.
Как я понял генератор выполняет этот скрипт каждый раз заново, при создании каждой страницы. Страницу сделал -> вместо макросов на ней ссылки проставил -> начинает следующую страницу делать. И скрипт заново берет эти ссылки с первой строчки. Получается на каждой созданной странице одни и те же ссылки.
12. LIME - 04 Ноября, 2011 - 16:50:41 - перейти к сообщению
ну тогда глянуть бы код генератора
13. Dgrad - 04 Ноября, 2011 - 16:51:36 - перейти к сообщению
Он большой(я имею ввиду код)! Mail есть??
14. LIME - 04 Ноября, 2011 - 16:52:31 - перейти к сообщению
тут так навскидку по кусочку кода не сделаешь
(Добавление)
кнопка под каждым постом
и файл ссылок тоже нужен
или хотябы знать сколько их в файле
(Добавление)
аа тут же атача нет
limejuce@rambler.ru
15. Dgrad - 04 Ноября, 2011 - 17:52:23 - перейти к сообщению
LIME пишет:
тут так навскидку по кусочку кода не сделаешь
(Добавление)
кнопка под каждым постом
и файл ссылок тоже нужен
или хотябы знать сколько их в файле
(Добавление)
аа тут же атача нет
limejuce@rambler.ru

Ты в аське онлайн??? И как зовут тебя? а то непривычно так...
Сам генератор состоит из пары 10 файлов php. Я могу скинуть тебе полный архив самого доргена, могу и отдельный основной файл генератора. В нем прописывается основная работа. Ну и плюс файл линков.

 

Powered by ExBB FM 1.0 RC1