маниакально- депрессивный псих
С нами с 21.02.09
Сообщения: 1445
Рейтинг: 860
|
Добавлено: 25/03/11 в 00:35 |
вот такой:
Код: | <?php
$filename = "http://domain.com/banners.txt";
$images = file($filename);
srand ((double) microtime() * 1000000);
$a = rand(0, sizeof($images) - 1);
echo $images[$a];
?> |
Слямзил где-то тут на форуме. Выводит рандомную строку из файла banners.txt, ну а там линк на баннер и рефка на партнерку.
Вопрос, как вывести два/три/.../десять баннеров но так, чтоб не было блядь повторений?
Семак ат души
Оффтопик: советы типа "добавь больше баннеров", "ставь openx" заминусую нахуй
|
|
CDN from $0,8/Mbps - от адванседов
|
0
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/03/11 в 00:53 |
Код: | <?php
$images = file("http://domain.com/banners.txt");
shuffle($images);
echo $images[0];
echo $images[1];
echo $images[2];
...
echo $images[10];
?> |
|
|
|
|
С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543
|
Добавлено: 25/03/11 в 02:11 |
шафлить весь массив, имхо жёстко, быстрее array_rand
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/03/11 в 09:04 |
mr. snatch писал: | шафлить весь массив, имхо жёстко, быстрее array_rand |
ну да
|
|
|
|
мы, цари - народ работящий!
С нами с 11.06.05
Сообщения: 13121
Рейтинг: 4892
|
Добавлено: 25/03/11 в 10:14 |
а для тех, кто не знаком с php можно итоговый вариант?
и линки на баннера/ссылки в каком формате в txt идут?
если не жалко
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 25/03/11 в 11:08 |
raider писал: | а для тех, кто не знаком с php можно итоговый вариант?
и линки на баннера/ссылки в каком формате в txt идут?
если не жалко |
присоединяюсь к просьбе
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 25/03/11 в 11:09 |
Цитата: | и линки на баннера/ссылки в каком формате в txt идут? |
в формате txt, ёпти!
например в txt (разделитель '|'):
Код: | хttp://адрес_картинки1|хttp://www.link1.com/
хttp://адрес_картинки2|хttp://www.link2.com/
...... |
тогда
Код: | <?php
$filename = "http://domain.com/banners.txt";
$images = file($filename);
$out = array_rand($images, 10); // 10 - кол-во баннеров
foreach($out as $val) {
$tmp = explode('|', $val); //отделяем адрес картинки от линка
echo '<a href="'trim($tmp[1])'"><img src="'$tmp[0]'"></a>';
}
?> |
как-то так
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/03/11 в 11:24 |
AWD писал: | в формате txt, ёпти!
например в txt (разделитель '|'):
Код: | хttp://адрес_картинки1|хttp://www.link1.com/
хttp://адрес_картинки2|хttp://www.link2.com/
...... | тогда
|
ну ты усложняешь жизнь
можно ж сразу формат делать
Код: | <a href="хttp://www.link1.com/"><img src="хttp://адрес_картинки1"></a>
<a href="хttp://www.link2.com/"><img src="хttp://адрес_картинки2"></a> |
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 25/03/11 в 11:32 |
ibiz: договаривай.
как должен выглядеть тогда код?
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 25/03/11 в 11:34 |
ibiz писал: | ну ты усложняешь жизнь
можно ж сразу формат делать
Код: | <a href="хttp://www.link1.com/"><img src="хttp://адрес_картинки1"></a>
<a href="хttp://www.link2.com/"><img src="хttp://адрес_картинки2"></a> | |
одна строка кода - сложность? да уж, как с ней теперь жить-то?
потом будут спрашивать "у мя есть линка и адрес пикчи. как сделать, чтобы на автомате ставило <a href...<img src... а то ручками гиморно." и т.д...
и потом, открываешь свой txt, а там, бля, хрефы, имаги, и все какое-то одинаковое... не очень...
я бы предпочел свой тхт файло набивать линками без хтмл, а не вставлять в разрывы адреса, чтобы потом кавычки не пропустить, не промахнуться, и не орать, что нихуа не работает.
такое.
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 25/03/11 в 11:36 |
stinger писал: | ibiz: договаривай.
как должен выглядеть тогда код? |
если
Код: | <a href="хttp://www.link1.com/"><img src="хttp://адрес_картинки1"></a>
<a href="хttp://www.link2.com/"><img src="хttp://адрес_картинки2"></a> |
то Код: | <?php
$filename = "http://domain.com/banners.txt";
$images = file($filename);
$out = array_rand($images, 10); // 10 - кол-во баннеров
foreach($out as $val) {
echo $val;
}
?> |
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 25/03/11 в 11:40 |
даже проще)
Код: | <?php
$filename = "http://domain.com/banners.txt";
$images = file($filename);
$out = array_rand($images, 10); // 10 - кол-во баннеров
for($i=0;$i<10;$i++){
echo $out[$i];
}
?> |
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 25/03/11 в 11:47 |
Спасибо большое!
ща буду пробовать...
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/03/11 в 11:50 |
AWD писал: | одна строка кода - сложность? да уж, как с ней теперь жить-то?
потом будут спрашивать |
главное чтоб работало и было просто
в данном случае эксплоде - лишняя нагрузка на умы и на сервер, имхо
ну и изначально в задаче указано условие Цитата: | Выводит рандомную строку из файла banners.txt |
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 25/03/11 в 12:13 |
ну блин, нифига не получается.
Вот баннерс.тхт Код: | <a href="http://www.link1.com/"><img src="http://адрес_картинки1" width="200" height="160" alt="Photo 01"></a>
<a href="http://www.link2.com/"><img src="хttp://адрес_картинки2" width="200" height="160" alt="Photo 02"></a>
<a href="http://www.link3.com/"><img src="хttp://адрес_картинки3" width="200" height="160" alt="Photo 03"></a>
<a href="http://www.link4.com/"><img src="хttp://адрес_картинки4" width="200" height="160" alt="Photo 04"></a>
<a href="http://www.link5.com/"><img src="хttp://адрес_картинки5" width="200" height="160" alt="Photo 05"></a>
<a href="http://www.link6.com/"><img src="хttp://адрес_картинки6" width="200" height="160" alt="Photo 06"></a>
<a href="http://www.link7.com/"><img src="хttp://адрес_картинки7" width="200" height="160" alt="Photo 07"></a>
<a href="http://www.link8.com/"><img src="хttp://адрес_картинки8" width="200" height="160" alt="Photo 08"></a>
<a href="http://www.link9.com/"><img src="хttp://адрес_картинки9" width="200" height="160" alt="Photo 09"></a>
<a href="http://www.link10.com/"><img src="хttp://адрес_картинки10" width="200" height="160" alt="Photo 10"></a> |
Вот это код пхп Код: | <?php
$filename = "D:\xampp\htdocs\wp\wp-content\themes\tandil\banners.txt";
$images = file($filename);
out = array_rand(&images, 3);
foreach($out as $val) {
echo $val;
} ?> |
Вот ошибка Код: | Parse error: syntax error, unexpected '=' in D:\xampp\htdocs\wp\wp-content\themes\tandil\sidebar.php on line 30 |
Это, типа, он говорит что знак "=" неожиданный вот здесь: $images = file($filename)
Что я делаю не так?
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/03/11 в 12:16 |
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 25/03/11 в 12:24 |
ibiz писал: | найди 10 отличий
Код: |
<?php
$filename = "D:\xampp\htdocs\wp\wp-content\themes\tandil\banners.txt";
$images = file($filename);
$out = array_rand($images, 3);
foreach($out as $val) {
echo $val;
} ?> | |
ок понял, что здесь ошибся: ( $images, 3)
Писец, бля, теперь вот что:
Код: | Warning: file(D: mpp\htdocs\wp\wp-content hemes andil\banners.txt) [function.file]: failed to open stream: Invalid argument in D:\xampp\htdocs\wp\wp-content\themes\tandil\sidebar.php on line 29 |
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/03/11 в 12:57 |
stinger писал: | ок понял, что здесь ошибся: ($images, 3)
Писец, бля, теперь вот что:
Код: | Warning: file(D: mpp\htdocs\wp\wp-content hemes andil\banners.txt) [function.file]: failed to open stream: Invalid argument in D:\xampp\htdocs\wp\wp-content\themes\tandil\sidebar.php on line 29 | |
попробуй так
Код: |
$filename = str_replace("\\","\\\\", "D:\xampp\htdocs\wp\wp-content\themes\tandil\banners.txt");
|
|
|
|
|
маниакально- депрессивный псих
С нами с 21.02.09
Сообщения: 1445
Рейтинг: 860
|
Добавлено: 25/03/11 в 13:24 |
AWD писал: | если
Код: | <a href="хttp://www.link1.com/"><img src="хttp://адрес_картинки1"></a>
<a href="хttp://www.link2.com/"><img src="хttp://адрес_картинки2"></a> | то Код: | <?php
$filename = "http://domain.com/banners.txt";
$images = file($filename);
$out = array_rand($images, 10); // 10 - кол-во баннеров
foreach($out as $val) {
echo $val;
}
?> | |
выводит циферки вместо картинок (т.е. как я понял, вместо полных строк из banners.txt выводятся только номера этих строк)
taj писал: | даже проще)
Код: | <?php
$filename = "http://domain.com/banners.txt";
$images = file($filename);
$out = array_rand($images, 10); // 10 - кол-во баннеров
for($i=0;$i<10;$i++){
echo $out[$i];
}
?> | |
тоже циферки.
|
|
CDN from $0,8/Mbps - от адванседов
|
0
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 25/03/11 в 13:30 |
ibiz писал: | попробуй так
Код: |
$filename = str_replace("\\","\\\\", "D:\xampp\htdocs\wp\wp-content\themes\tandil\banners.txt");
| |
не, попробуй так:
Код: | $filename = "D:/xampp/htdocs/wp/wp-content/themes/tandil/banners.txt"; |
ненавижу обратные слешы в путях. зачем они?
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 25/03/11 в 13:35 |
ibiz писал: | попробуй так
Код: | b
$filename = str_replace("\\","\\\\", "D:\xampp\htdocs\wp\wp-content\themes\tandil\banners.txt");
| |
неа, тоже не получается
Цитата: | Warning: file(D: mpp\\htdocs\\wp\\wp-content hemes andil\\banners.txt) [function.file]: failed to open stream: Invalid argument in D:\xampp\htdocs\wp\wp-content\themes\tandil\sidebar.php on line 29 |
line 29: $images = file($filename);
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 25/03/11 в 13:39 |
поменял слэши на "правильные". выводит только три цифры.
paranoik.death прав - кажется, что выводятся только номера строк.
и как заставить его выводить код?
Последний раз редактировалось: stinger (25/03/11 в 13:40), всего редактировалось 1 раз
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 25/03/11 в 13:40 |
paranoik.death писал: | тоже циферки. |
ёп, array_rand же индексы возвращает, сорри.
Код: | <?php
$filename = "http://domain.com/banners.txt";
$images = file($filename);
$out = array_rand($images, 10); // 10 - кол-во баннеров
foreach($out as $val) {
echo $images[$val]; //во как надо было
}
?> |
|
|
|
|
adult? не, не слышал...
С нами с 29.11.02
Сообщения: 1403
Рейтинг: 1225
|
Добавлено: 25/03/11 в 13:41 |
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 25/03/11 в 13:56 |
Не могу понять как этот код "защищён" от выдачи одинаковых банеров?!..
|
|
|
|