PDA

Просмотр полной версии : Вопросник по PHP


DemoniQ
18.11.2007, 18:28
У меня проблема, требующая срочного решения:

На хостинге не работает функция strtolower() для массива, созданного с помощью функции file(). На моем сервере работает все. Может в настройках PHP на хостинге что-то нужно изменить?

<?php
$db = file ("database/database.txt");
foreach ($db){
strtolower($db);
print $db;
}
?>

Если кто знает как решить эту проблему, помогите пожалуйста!

ΛLIEN
18.11.2007, 18:44
strtolower - входной параметр строка, а не массив. Может в последних версиях php хавает и массивы, но правильнее будет прочитать все как одну строку, конвертнуть, а потом уже разбивать на массив, если так уж хочется.

1) file_get_contents()
2) strtolower()
3) explode () или split()

DemoniQ
18.11.2007, 18:53
strtolower - входной параметр строка, а не массив. Может в последних версиях php хавает и массивы, но правильнее будет прочитать все как одну строку, конвертнуть, а потом уже разбивать на массив, если так уж хочется.

1) file_get_contents()
2) strtolower()
3) explode () или split()

Таже фигня - у меня переводит в нижний регистр у СЗ нет. А можно сразу создать нижнерегистровый массив из файла?

DemoniQ
18.11.2007, 19:06
Хм... уже не надо - я воспользуюсь нижнерегистровой копией документа... до тех пор, пока не выучу БД.

ΛLIEN
18.11.2007, 19:15
Таже фигня - у меня переводит в нижний регистр у СЗ нет. А можно сразу создать нижнерегистровый массив из файла?
Дай угадаю, косяк только с русскими буквами? =) Русская локаль не настроена у СЗ похоже. Напиши свою функцию, делов-то.


function toUpper($content) {
$content = strtr($content, "абвгдеёжзийклмнорпстуфхцчшщъьыэюя",
"АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ");
return strtoupper($content);
}

function toLower($content) {
$content = strtr($content, "АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ",
"абвгдеёжзийклмнорпстуфхцчшщъьыэюя");
return strtolower($content);
}


до тех пор, пока не выучу БД
А причем здесь БД?

DemoniQ
18.11.2007, 19:21
У меня в текстовый документ построчно забиты названия и инфа по организациям. Через него на сайте организован поиск.

А по поводу русских букв, то ща проверю.

DemoniQ
18.11.2007, 19:23
Блин, и правда косяк только с русскими буквами. Спасиб!

DemoniQ
01.12.2007, 20:53
Есть 2 файла:
1 - основной (тут код программы, с которой производятся все операции)
2 - файл с параметрами (много-много всяких переменных, которым присвоено много-много всяких значений)

что нужно прописать в коде файла 1, чтобы загрузить в него переменн(ую/ые) из файла 2?



Скажем, в файле 2 есть переменная
$true_admin_login = "admin";

А мне в файле 2 надо провести следующее сравнение:
if($admin_login == $true_admin_login){
...

Чего для этого надо сделать?

ΛLIEN
01.12.2007, 21:03
Чего для этого надо сделать?
Не совсем понял, что ты имеешь ввиду, но

<?php // This is file1.php

include("file2.php");
...

?>

DemoniQ
01.12.2007, 21:06
Не совсем понял, что ты имеешь ввиду, но

<?php // This is file1.php

include("file2.php");
...

?>

Во, работает... значит я имел ввиду именно то, о чем ты подумал. :D :D :D
СПАСИБИЩЩЩА!!!

DemoniQ
04.12.2007, 20:03
А можно с помощью PHP импортировать данные из документов Microsoft Office? Ну скажем из базы данных Access или таблиц Excel.

ΛLIEN
04.12.2007, 22:23
Самый простой способ с excel - экспортировать в csv и потом в php использовать fgetcsv();

Ну или искать в сети что-то типа "PHP Excel Reader", "PHP Excel Parser".

DemoniQ
06.12.2007, 23:25
Написал скрипт загрузки файлов на FTP, но никак не получается связать его с <input name='name' type='file'>

В программу возвращается переменная не с путем к выбранному файлу, а с именем файла. Что делать?

ΛLIEN
06.12.2007, 23:44
В последнее время, я чувствую, что стал терять телепатические способности. :eek:

DemoniQ
07.12.2007, 00:26
В последнее время, я чувствую, что стал терять телепатические способности. :eek:

Амм... ладно, поробую объяснить, не беря во внимание написанный мною скрипт. Есть страничка с формой:

<form method='post'>
<input name='file' type='file'>
<input type='submit'>
</form>

И надо с помощью этой странички загрузить файл с локального компьютера на сервер. У меня не получается это сделать, ибо возвращаемая в программу переменная $file содержит не адрес файла, а его имя.
Сам же скрипт загрузки какого-либо конкретного файла с локальной машины я смог реализовать с помощью функции ftp_put() со всеми другими необходимыми для этого функциями - ftp_connect(), ftp_login().

Вот так выглядит код загрузки конкретного файла с локали на сервер:

<?php
#$file - конкретно заданный файл
$file = "d://docs/text.txt";
$remote_file = "change/text.txt";

$conn_id = ftp_connect("192.168.6.203");

$ftp_user_name = "Anonymous";
$ftp_user_pass = NULL;

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

ftp_put($conn_id, $remote_file, $file, FTP_ASCII);

ftp_close($conn_id);
?>

Но создавая переменную $file с помощью первого кода, в программу возвращается не "d://docs/text.txt", а "text.txt".

Вот собственно и суть моей проблемы.

FeD
07.12.2007, 00:27
откель два слеша после d:// ?

DemoniQ
07.12.2007, 00:48
откель два слеша после d:// ?

В предыдущем посте исправил код - с моей стороны работает. Попробуй ты (только перед этим не забудь создать файл text.txt в директории d:\\docs у себя на компьютере, а после можешь зайти на мой ftp и проверить.).
Вот страница:
http://192.168.6.203/ind3.php

DemoniQ
07.12.2007, 01:04
Ну так чего, помогет кто-нибудь с формой и скриптом под нее?

Хм... кто-нибудь по ссылке выше переходил? А то у меня уже складывается впечатление, что он с сервака на сервак гоняет.

ΛLIEN
07.12.2007, 01:17
Что-то я не припомню, чтобы в php скрипт передавался полный путь файла на клиентской машине. По крайней мере, через переменную $_FILES полный путь точно не передается.

Единственное что я не понял нахрена тебе ftp_put() файл и так посредством формы перемещается на сервер через метод post?

DemoniQ
07.12.2007, 01:22
А есть альтернативный способ загрузки выбранного с помощью <input type='file' name='file'> файла?

Если нет, то какие есть другие способы решения поставленной задачи, только так, чтобы файл можно было выбрать на локальной машине (короче, чтобы тупо при нажатии на что-то, открылся проводник... юзер тыркнул на нужные ему файл, нажал отправить, и этот файл загрузился бы на фтп)?

ΛLIEN
07.12.2007, 01:32
Вот тебе простенький пример загрузки файла на сервер


<html>
<head>Upload</head>
<body>
<h3>Upload</h3>
<?php
if(isset($HTTP_POST_VARS['submit'])) {
echo "Name:".$_FILES['userfile']['name']."<br>";
echo "Type: ".$_FILES['userfile']['type']."<br>";
echo "Size: ".$_FILES['userfile']['size']."<br>";
echo "Error: ".$_FILES['userfile']['error']."<br>";
move_uploaded_file($_FILES['userfile']['tmp_name'],
"/имя/папки/в/которую/надо/переместить/файл/".$_FILES['userfile']['name']);
}
else {
echo <<< TTEXT
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
File: <input name="userfile" type="file">
<input type="submit" name="submit" value="Send">
</form>
TTEXT;
}
?>
</body>
</html>


<input name="userfile" type="file"> и так уже загружает файл на сервер во временную папку. Остается только перенести его, т.к. после окончания php сессии временный файл будет удален автоматически.

DemoniQ
07.12.2007, 01:41
Дааааа... простенький примерчик. Не работает твой простенький примерчик. Одну ошибку я нашел, а другие - слабоват.

ΛLIEN
07.12.2007, 01:43
Дааааа... простенький примерчик. Не работает твой простенький примерчик. Одну ошибку я нашел, а другие - слабоват.

У меня он замечательно работает. Только, что проверил. =)

DemoniQ
07.12.2007, 01:43
у меня копируется с лишними пробелами... ща подкорректирую - посмотрю.

DemoniQ
06.01.2009, 04:10
Наверно немного не по теме, но можно ли сделать так, чтобы скрипт на сервере запускался в назначенное время без участия клиента, открывающего его?

ΛLIEN
06.01.2009, 04:32
можно ли сделать так, чтобы скрипт на сервере запускался в назначенное время
Если хостер разрешает добавлять crontab, то курим $ man crontab
затем
$ crontab -e

под мастдаем "Назначенные задания".

DemoniQ
06.01.2009, 05:03
...

Эмм... мало чего понял. Можно где-нибудь подробнее про это прочитать?

Insya
06.01.2009, 21:51
Эмм... мало чего понял. Можно где-нибудь подробнее про это прочитать?

погугли по слову cron

C1FR0
05.03.2009, 20:52
Создавать новую тему не хочу. Хотя было бы логичнее убрать темы вопросников по html, css, php, javascript и создать один - интернет программирование или вопросник по сайтам.

Вообщем, мои вопросы:
1) Как сделать то, что обрамлено красным на аттаче?
2) Где на русском можно найти нормальную информацию об индексации поисковиком google, файлах sitemap и robot.txt? Желательно с примерами.
3) Можно ли получить получить 100% точное дерево расположение каталогов и файлов на каком-либо произвольно взятом сайте. Допустим, с помощью программ.
4) Есть ли способ получить исходный код php-страницы с сервера, при работающем модуле php. Также на примере произвольно взятого (не своего) сайта.

МишGUN
05.03.2009, 21:47
Создавать новую тему не хочу. Хотя было бы логичнее убрать темы вопросников по html, css, php, javascript и создать один - интернет программирование или вопросник по сайтам.

Вообщем, мои вопросы:
1) Как сделать то, что обрамлено красным на аттаче?
2) Где на русском можно найти нормальную информацию об индексации поисковиком google, файлах sitemap и robot.txt? Желательно с примерами.
3) Можно ли получить получить 100% точное дерево расположение каталогов и файлов на каком-либо произвольно взятом сайте. Допустим, с помощью программ.
4) Есть ли способ получить исходный код php-страницы с сервера, при работающем модуле php. Также на примере произвольно взятого (не своего) сайта.

по второму пункту - www.promoforum.ru
и думаю, что вполне на остальные вопросы могут ответить и там

ΛLIEN
05.03.2009, 22:51
1)<p>some text</p>
<p style="margin-left:3em">some text</p>

2) robots.txt (http://help.yandex.ru/webmaster/?id=996567)

3) Teleport Pro

4) Нет.

C1FR0
06.03.2009, 13:20
1)<p>some text</p>
<p style="margin-left:3em">some text</p>

По html/css верстке у меня вопросов нет. :D
Вопрос заключался в том, что и как сделать, чтобы для зарегистрированного тобой в google сайта, выводились схожие по структуре результаты (т.е. меню сайта и дополнительные ссылке/вложенные страницы).

2) robots.txt (http://help.yandex.ru/webmaster/?id=996567)

Спасибо, вечером буду читать.

3) Teleport Pro

Есть способ скрыть от этой и аналогичных программ некоторые дирректории/файлы?

4) Нет.

Отлично!

FeD
06.03.2009, 14:09
Есть способ скрыть от этой и аналогичных программ некоторые дирректории/файлы?


есть. надо просто смотреть, чтоб на скрываемую страницу не было ссылок и чтоб её имя было сложным для предотвращения перебора имён по словарю. так же можно в отдельных директориях .htaccess'ом ращрешить доступ только с конктерных айпишников или вовсе авторизацию внедрить

C1FR0
06.03.2009, 17:18
так же можно в отдельных директориях .htaccess'ом ... вовсе авторизацию внедрить

Для внутреннего доступа к этой директории, скажем при обращении php-скрипта этого же сайта (открытие файла через fopen() или include() ), тоже потребуется авторизация?

ΛLIEN
06.03.2009, 17:36
Для внутреннего доступа....тоже потребуется авторизация?

Нет. В .htaccess директивы только для вэб сервера.

C1FR0
06.03.2009, 17:44
Нет. В .htaccess директивы только для вэб сервера.

Ага, разобрался. Спасибо!

C1FR0
30.03.2009, 00:00
Дано:
Произвольная строка из формы, состоящая из адресов web-сайтов, e-mail и обычного текста.

Необходимо:
Получить новую строку, в которой все электронные адреса будут заменены на их html-код.

ΛLIEN
30.03.2009, 00:28
Дано:
Произвольная строка из формы, состоящая из адресов web-сайтов, e-mail и обычного текста.

Необходимо:
Получить новую строку, в которой все электронные адреса будут заменены на их html-код.

Почта Васи Пупкина vasya_pupkin@mail.server.com бла бла бла

Почта Васи Пупкина <a href="mailto:vasya_pupkin@mail.server.com">vasya_pupkin@mail.server.com</a> бла бла бла
?

ΛLIEN
30.03.2009, 00:34
Точно!

$result = ereg_replace('[\\w\\.-]+@[\\w\\.]+',
'<a href="mailto:\\0">\\0</a>', $subject);

C1FR0
30.03.2009, 00:39
$result = ereg_replace(
'[[:alnum:]_.-]+@[[:alnum:].]+',
'<a href="mailto:\\0">\\0</a>',
$subject
);


Спасибо, Бобо! :)

C1FR0
03.04.2009, 23:20
Не могу никак разобраться с заданием прав доступа к файлам/каталогам. В результате не хотят работать функции fopen(), fwrite() и прочие по этой теме.

ΛLIEN
03.04.2009, 23:25
Не могу никак разобраться с заданием прав доступа к файлам/каталогам.
http://ru.wikipedia.org/wiki/Chmod

C1FR0
03.04.2009, 23:32
Да не, это не то. Это я знаю. У меня проблемы с использованием функции chmod().
В php-сценарии пишу следующее:

chmod('catalog/text.txt', 0777);

Работать не хочет. Что делать?

ΛLIEN
04.04.2009, 00:24
chmod('catalog/text.txt', 0777);
Работать не хочет. Что делать?
менять чмод у файла может только владелец/создатель файла или root. под каким uid у тебя у тебя веб сервер работает? Всяко не под root-ом, это было бы верхом глупости. Небось аpache или nobody.

C1FR0
04.04.2009, 00:32
Я использую хостинг Мастерхоста. Где-то читал, что Far может менять атрибуты файлам и каталогам через протокол ftp. Но эта интерфейсная уродина не хочет заходить на Мастерхост.

Вообщем, что мне нужно сделать, чтобы я смог в php-сценариях пользоваться функциями для открытия/чтения/записи файла?

Иначе я попадаю в нехорошую ситуацию - разработал админку для сайта (я не пользуюсь готовыми cms) на домашнем компьютере (apache windows). А на сервере Мастерхоста (возможно_апаче unix) она не работает.

ΛLIEN
04.04.2009, 00:43
Я использую хостинг Мастерхоста....Far может ... не хочет заходить на Мастерхост.

что мне нужно сделать, чтобы я смог в php-сценариях пользоваться функциями для открытия/чтения/записи файла?

чем ты файлы на хостинг заливаешь? WinSCP, Тотал или еще чем? Ими и меняй сразу у созданного файла/папок атрибуты. Не забывай, чтобы писать (или создавать) файлы в папку, на нее тоже нужен разрешенный атрибут записи.

C1FR0
04.04.2009, 00:44
чем ты файлы на хостинг заливаешь? WinSCP, Тотал или еще чем? Ими и меняй сразу у созданного файла/папок атрибуты. Не забывай, чтобы писать файлы в папку на нее тоже нужен атрибут записи.

Я Тоталом заливаю, но не нашел в нем функции корректировки атрибутов.

ΛLIEN
04.04.2009, 00:45
Я Тоталом заливаю, но не нашел в нем функции корректировки атрибутов.
Файл - Изменить атрибуты. Посмотреть атрибуты всех файлов сразу можно по alt+enter. Можно из командной строки тотала прямо писать chmod 0777 имя_файла

C1FR0
04.04.2009, 00:46
Файл - Изменить атрибуты

АФИГЕТЬ!!! Спасибо, Бобо!!! :)

ΛLIEN
04.04.2009, 00:51
АФИГЕТЬ!!! Спасибо, Бобо!!! :)
Ага. Удивительное рядом. :D

C1FR0
06.07.2009, 22:16
<?php

$headers = "Content-type: text/html; charset=windows-1251 \r\n";
$headers .= "From: Администратор <demoniq.sz@gmail.com>\r\n";

mail( 'demoniq.sz@gmail.com', 'Test', 'Test', $headers );
?>


Письма, отправленные с помощью данного кода, всегда попадают в папку со спамом.

В других способах отправки сообщений не могу разобраться без посторонней помощи.

Будьте добры, покажите "на пальцах", как надо правильно делать.

FeD
06.07.2009, 22:21
есть предположение, что почтовый сервер при получении письма проверят айпишник smtp-сервера и сравнивает его с айпишником, которым резолвится домен, если адреса сильно разнятся, то письмо помечается спамом

ΛLIEN
06.07.2009, 22:21
Попадание в спам никак не связанно с этим кодом.

C1FR0
06.07.2009, 22:27
Можно реализовать отправку с помощью php-скрипта таким образом, чтобы мне было счастье?

ΛLIEN
06.07.2009, 22:34
почтовый сервер при получении письма проверят айпишник smtp-сервера и сравнивает его с айпишником, которым резолвится домен, если адреса сильно разнятся, то письмо помечается спамомнет

Можно реализовать отправку с помощью php-скрипта таким образом, чтобы мне было счастье?
Я думаю проблема в другом, данный smtp сервер, через который происходить рассылка, или ип хоста на котором запускается скрипт, находится в черных списках у гугля. Убеждать что ты не верблюд саппорт гугля.

ΛLIEN
06.07.2009, 22:44
Проверь почту на demoniq.sz(собака)gmail.com. Если там есть письмо от меня и оно не в спаме, то так и есть.

C1FR0
06.07.2009, 22:46
Данный smtp сервер, через который происходить рассылка, или ип хоста на котором запускается скрипт, находится в черных списках у гугля.

Затестировал на Яндексе - приходит во "Входящие".

Проверь почту на demoniq.sz(собака)gmail.com. Если там есть письмо от меня и оно не в спаме, то так и есть.
Да, так и есть.

А в графе From можно безболезненно использовать левые мыла?

ΛLIEN
06.07.2009, 22:48
А в графе From можно безболезненно использовать левые мыла?
Можно. Как правило, происходит только проверка на существование домена. В данном случае gmail.com существует, следовательно письма уходят. Проверяет это smtp сервер, что отправляет твое письмо.

C1FR0
06.07.2009, 22:51
Спасибо, с этим разобрался.

А в чем прелесть отправки писем через сокеты, sendmail, ActiveX?

ΛLIEN
06.07.2009, 22:58
А в чем прелесть отправки писем через сокеты...
В изучении тонкостей smtp протокола. =) mail() сама формирует доп. заголовки, открывая сокет, соединяется с сервером и т.д. для win32. Под линуксом mail() сама вызывает sendmail. Если ты хочешь это делать самостоятельно без посредника, флаг в руки барабан на шею.
ps: ActiveX не пользовал.

C1FR0
06.07.2009, 23:00
Спасибо большое за помощь в изучении данного вопроса!
Сам бы я долго докапывался до истины.

Том
19.02.2012, 20:13
Помогите решить такую несложную задачу. В каталоге есть несколько разных php-файлов. В каждом из этих файлов есть кусок кода, который нас интересует (скажем, баннер).

Вопрос: как сделать вывод случайного баннера с этих страниц на другой php-странице? Насколько я знаю, функция echo file_get_contents выводит содержимое файла целиком.

ΛLIEN
19.02.2012, 20:30
Помогите решить такую несложную задачу. В каталоге есть несколько разных php-файлов. В каждом из этих файлов есть кусок кода, который нас интересует (скажем, баннер).

Вопрос: как сделать вывод случайного баннера с этих страниц на другой php-странице? Насколько я знаю, функция echo file_get_contents выводит содержимое файла целиком.

file_get_contents() читает файл как есть. если надо выполнять случайный php скрипт, то использовать надо include();


<?php
$scripts = array(
"file1.php",
"file2.php",
"file3.php"
);

include($scripts[rand(0,sizeof($scripts)-1)]);
?>

Том
19.02.2012, 20:54
file_get_contents() читает файл как есть. если надо выполнять случайный php скрипт, то использовать надо include();

Я не понял, как в этом массиве указать, какой именно скрипт в каждом файле (file1, file2, file3) нас интересует?

ΛLIEN
19.02.2012, 21:02
Я не понял, как в этом массиве указать, какой именно скрипт в каждом файле (file1, file2, file3) нас интересует?

fileN.php и есть скрипт. или тебе надо вызывать конкретную функцию, которая находится в fileN.php ?

Том
19.02.2012, 21:10
fileN.php и есть скрипт. или тебе надо вызывать конкретную функцию, которая находится в fileN.php ?

Да, именно так - конкретная функция. Вызвать надо случайным образом из любого из этих файлов - но одну конкретную функцию (как писал выше, например пусть это будет код баннера). Баннеров в каждом fileN несколько, а нам надо в массиве для случайного вывода записать только один для каждого.

ΛLIEN
19.02.2012, 21:20
Да, именно так - конкретная функция. Вызвать надо случайным образом из любого из этих файлов - но одну конкретную функцию (как писал выше, например пусть это будет код баннера). Баннеров в каждом fileN несколько, а нам надо в массиве для случайного вывода записать только один для каждого.

Если в каждом fileN только функции и ничего более, то просто вызвать конкретную функцию после include.

<?php
$scripts = array("file1.php", "file2.php", "file3.php");

include($scripts[rand(0,sizeof($scripts)-1)]);
showMyBannerFunction(); //функция выводящая банер
?>

Том
19.02.2012, 22:06
Что-то не соображу всё равно... лучше объясню на конкретном примере =)

Есть файл:
http://tophit.org/channels/radio/all.php

В нём ссылки на страницы вещания радиостанций. На каждой странице встроен проигрыватель с адресом потока.

Нужно, чтобы при каждой загрузке страницы all.php где-нибудь вверху таблицы играла случайная радиостанция из этого списка. То есть, чтобы загружался медиа-плеер с любой из страниц.

ΛLIEN
19.02.2012, 22:39
Что-то не соображу всё равно... лучше объясню на конкретном примере =)

Есть файл:
http://tophit.org/channels/radio/all.php

В нём ссылки на страницы вещания радиостанций. На каждой странице встроен проигрыватель с адресом потока.

Нужно, чтобы при каждой загрузке страницы all.php где-нибудь вверху таблицы играла случайная радиостанция из этого списка. То есть, чтобы загружался медиа-плеер с любой из страниц.

Я так понимаю, код плееров находится между тэгами <EMBED></EMBED> что к php функциям отношения никакого не имеет. =)
Выковыривать код плеера из php файла конечно можно тем же preg_grep, но это вырывать гланды через задницу.
Чего проще, создай файлы player1.inc, player2.inc и т.д. где находится только код плеера <EMBED>бла бла бла</EMBED> и подключай конкретный inc файл при помощи include() в eldoradio.php, keksfm.php и т.д. А в all.php случайным образом, как я и писал ранее.

ΛLIEN
19.02.2012, 22:56
ps: Хорошо конечно бы видеть исходный текст какого нибудь keksfm.php, но подозреваю, что код плеера просто в виде html.
PHP код находится между тэгами <?php .... ?>. Все что вне его, выводится как есть.

Том
20.02.2012, 01:23
Спасибо, вроде получилось со случайным выводом 3-х станций.

Код страницы eldoradio.php такой:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Эльдорадио</title>

</head>
<body>

<p align="center"><font color="#000080"><b>Эльдорадио Санкт-Петербург</b></font></p>

<div align="center">
<?php
echo file_get_contents ("http://tophit.org/channels/radio/player/eldoradio.inc");
?>

<p>

<?php
echo file_get_contents ("http://tophit.org/channels/radio/all.php");
?>

</div>

<div id="feed-piter">
</div>
</body>
</html>

код страницы eldoradio.inc такой:

<EMBED TYPE="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" ID="WM" Name="WM" Width="700" Height="63" Src="http://www.onair.eltel.net/eldoradio128.m3u" AutoSize="0" AutoStart="1" ClickToPlay="1" DisplaySize="0" EnableContextMenu="1" EnableFullScreenControls="1" EnableTracker="0" volume="0" PlayCount="1" ShowControls="1" ShowAudioControls="1" ShowDisplay="0" ShowGotoBar="0" ShowPositionControls="0" ShowStatusBar="1" ShowTracker="0"></EMBED>

код страницы all.php такой:

<div align="center">
<a href="http://tophit.org/" title="Радио Твоей Мечты"><img src="http://tophit.org/img/tophit.gif" border="0" alt="Радио Твоей Мечты" /></a>
</div>

<div valign="top">


<table border="1" width="100%">
<tr><td>
<div align="center"><b><font color="#008000">Радио-каналы</font></b></div>
</td>
</tr>
<tr><td valign="top">

<?php

$scripts = array("http://tophit.org/channels/radio/player/eldoradio.inc", "http://tophit.org/channels/radio/player/retrofm.inc", "http://tophit.org/channels/radio/player/keksfm.inc");

include($scripts[rand(0,sizeof($scripts)-1)]);

?>

<p>
<a title="Твоя мелодичная станция" href="http://tophit.org/channels/radio/eldoradio.php">
Эльдорадио</a></p>
<p>
<a title="Играем что хотим" href="http://tophit.org/channels/radio/keksfm.php">
Кекс FM</a></p>
<p>
<a title="Подпевай" href="http://tophit.org/channels/radio/retrofm.php">
Ретро FM</a></p>
<p>
<a title="Европа Плюс" href="http://tophit.org/channels/radio/europaplus.php">
Европа Плюс</a></p>
<a title="Радио Ваня" href="http://tophit.org/channels/radio/radiovania.php">Радио Ваня
</a>
<p>
<a title="Бизнес FM" href="http://tophit.org/channels/radio/businessfm.php">Бизнес FM
</a>
</p>


&nbsp;<br>

</td>
</tr>
</table>


</div>

Только теперь проблема - при воспроизведении станции загружается 2 плейера... Ещё один файл all.php делать, что ли?

ΛLIEN
20.02.2012, 01:45
Вместо,
<?php
echo file_get_contents ("http://tophit.org/channels/radio/player/eldoradio.inc"); ?>
если файлы лежат на одном серваке и тем более в одной папке, можно просто
<?php include("eldoradio.inc"); ?>
php движок сам разберется, где php код, где хтмл код.

Чтобы два раза не вставляло одно и тоже, используй include_once() вместо include().

ps: как-то у тебя все сложно и не понятно зачем отдельные php скрипты, делающие одно и тоже, только плеер разный. вернее, даже не плеер, а ссылка в коде плеера "Src=".
Можно ограничится одним скриптом, где если не передается никакого параметра http://сервер/скрипт.php, вставляется случайная ссылка в код плеера, а если ссылка типа такой http://сервер/скрипт.php?eldoradio вставляется определенная.

Том
15.12.2012, 14:23
Помогите, пожалуйста, уже все мозги сломал.

Есть код для wordpress (немного переделанный):


<?php $randompost = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY RAND() LIMIT 1");
if ($randompost) {
foreach ($randompost as $post) {
$ID = $post->ID;
$postid = get_post($post->ID);
$title = $postid->post_title; ?>
<?php echo $title ?>
<?php } } ?>

Он работает - но не так, как надо. Выводится заголовок поста - а нужно чтобы выводился пост целиком.

Том
18.12.2012, 22:35
Дашенька, спасибо, но так вообще ничего не отображается =)

Insya
20.12.2012, 11:28
Дашенька, спасибо, но так вообще ничего не отображается =)

Ну тогда сделай так:


<?php $randompost = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY RAND() LIMIT 1");
if ($randompost) {
foreach ($randompost as $post) {
$ID = $post->ID;
query_posts('p='.$ID);
if(have_posts())
{
while( have_posts() )
{
the_post();
the_title();
the_content();
}
}
else
{
echo "Постов не найдено";
}
} } ?>

Том
20.12.2012, 19:00
Даша, так тоже не получется - просто пустой экран. Ты сама можешь убедиться, установив тестовый экземпляр wordpress и плагин типа php-exec (чтобы в постах мог исполняться php-код).

В-общем, я нашёл временное решение:

<?php
query_posts(array(
'orderby' => 'rand',
'showposts' => '5',
'cat' => '1,3'
));
if (have_posts()) :
while (have_posts()) : the_post(); ?>
<?php
endwhile;
endif; ?>
Но мне не очень нравится, потому что заголовок поста не в виде ссылки (обычный текст). Выглядит это так:

http://citemind.info/random

Некрасиво оформлено. Буду думать дальше, пока пусть так =)

Insya
20.12.2012, 21:46
Ты сама можешь убедиться

дык я проверяла перед тем, как тебе кинуть, у меня все работает

Том
20.12.2012, 22:15
дык я проверяла перед тем, как тебе кинуть, у меня все работает

У меня в теле страницы (например хидер или футер) тоже работает, а вот в самом посте как php-код - нет... Не знаю, может это ещё от версии wp зависит и от используемой темы...

Insya
21.12.2012, 10:02
а вот в самом посте как php-код - нет...

не очень поняла, что ты имел ввиду, но если очень надо, то напиши мне - разберемся

Том
09.01.2013, 16:10
Пожалуйста, попробуйте авторизоваться на сайте через какой-либо из этих соц. сервисов:

vkontakte, facebook, twitter, livejournal, google, yandex, mailruapi, odnoklassniki, openid.

http://citemind.info/wp-login.php

А то чё-то некоторые жалуются, что не работает эта фича...