Просмотр полной версии : Вопросник по PHP
У меня проблема, требующая срочного решения:
На хостинге не работает функция strtolower() для массива, созданного с помощью функции file(). На моем сервере работает все. Может в настройках PHP на хостинге что-то нужно изменить?
<?php
$db = file ("database/database.txt");
foreach ($db){
strtolower($db);
print $db;
}
?>
Если кто знает как решить эту проблему, помогите пожалуйста!
strtolower - входной параметр строка, а не массив. Может в последних версиях php хавает и массивы, но правильнее будет прочитать все как одну строку, конвертнуть, а потом уже разбивать на массив, если так уж хочется.
1) file_get_contents()
2) strtolower()
3) explode () или split()
strtolower - входной параметр строка, а не массив. Может в последних версиях php хавает и массивы, но правильнее будет прочитать все как одну строку, конвертнуть, а потом уже разбивать на массив, если так уж хочется.
1) file_get_contents()
2) strtolower()
3) explode () или split()
Таже фигня - у меня переводит в нижний регистр у СЗ нет. А можно сразу создать нижнерегистровый массив из файла?
Хм... уже не надо - я воспользуюсь нижнерегистровой копией документа... до тех пор, пока не выучу БД.
Таже фигня - у меня переводит в нижний регистр у СЗ нет. А можно сразу создать нижнерегистровый массив из файла?
Дай угадаю, косяк только с русскими буквами? =) Русская локаль не настроена у СЗ похоже. Напиши свою функцию, делов-то.
function toUpper($content) {
$content = strtr($content, "абвгдеёжзийклмнорпстуфхцчшщъьыэюя",
"АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ");
return strtoupper($content);
}
function toLower($content) {
$content = strtr($content, "АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ",
"абвгдеёжзийклмнорпстуфхцчшщъьыэюя");
return strtolower($content);
}
до тех пор, пока не выучу БД
А причем здесь БД?
У меня в текстовый документ построчно забиты названия и инфа по организациям. Через него на сайте организован поиск.
А по поводу русских букв, то ща проверю.
Блин, и правда косяк только с русскими буквами. Спасиб!
Есть 2 файла:
1 - основной (тут код программы, с которой производятся все операции)
2 - файл с параметрами (много-много всяких переменных, которым присвоено много-много всяких значений)
что нужно прописать в коде файла 1, чтобы загрузить в него переменн(ую/ые) из файла 2?
Скажем, в файле 2 есть переменная
$true_admin_login = "admin";
А мне в файле 2 надо провести следующее сравнение:
if($admin_login == $true_admin_login){
...
Чего для этого надо сделать?
Чего для этого надо сделать?
Не совсем понял, что ты имеешь ввиду, но
<?php // This is file1.php
include("file2.php");
...
?>
Не совсем понял, что ты имеешь ввиду, но
<?php // This is file1.php
include("file2.php");
...
?>
Во, работает... значит я имел ввиду именно то, о чем ты подумал. :D :D :D
СПАСИБИЩЩЩА!!!
А можно с помощью PHP импортировать данные из документов Microsoft Office? Ну скажем из базы данных Access или таблиц Excel.
Самый простой способ с excel - экспортировать в csv и потом в php использовать fgetcsv();
Ну или искать в сети что-то типа "PHP Excel Reader", "PHP Excel Parser".
Написал скрипт загрузки файлов на FTP, но никак не получается связать его с <input name='name' type='file'>
В программу возвращается переменная не с путем к выбранному файлу, а с именем файла. Что делать?
В последнее время, я чувствую, что стал терять телепатические способности. :eek:
В последнее время, я чувствую, что стал терять телепатические способности. :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".
Вот собственно и суть моей проблемы.
откель два слеша после d:// ?
откель два слеша после d:// ?
В предыдущем посте исправил код - с моей стороны работает. Попробуй ты (только перед этим не забудь создать файл text.txt в директории d:\\docs у себя на компьютере, а после можешь зайти на мой ftp и проверить.).
Вот страница:
http://192.168.6.203/ind3.php
Ну так чего, помогет кто-нибудь с формой и скриптом под нее?
Хм... кто-нибудь по ссылке выше переходил? А то у меня уже складывается впечатление, что он с сервака на сервак гоняет.
Что-то я не припомню, чтобы в php скрипт передавался полный путь файла на клиентской машине. По крайней мере, через переменную $_FILES полный путь точно не передается.
Единственное что я не понял нахрена тебе ftp_put() файл и так посредством формы перемещается на сервер через метод post?
А есть альтернативный способ загрузки выбранного с помощью <input type='file' name='file'> файла?
Если нет, то какие есть другие способы решения поставленной задачи, только так, чтобы файл можно было выбрать на локальной машине (короче, чтобы тупо при нажатии на что-то, открылся проводник... юзер тыркнул на нужные ему файл, нажал отправить, и этот файл загрузился бы на фтп)?
Вот тебе простенький пример загрузки файла на сервер
<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 сессии временный файл будет удален автоматически.
Дааааа... простенький примерчик. Не работает твой простенький примерчик. Одну ошибку я нашел, а другие - слабоват.
Дааааа... простенький примерчик. Не работает твой простенький примерчик. Одну ошибку я нашел, а другие - слабоват.
У меня он замечательно работает. Только, что проверил. =)
у меня копируется с лишними пробелами... ща подкорректирую - посмотрю.
Наверно немного не по теме, но можно ли сделать так, чтобы скрипт на сервере запускался в назначенное время без участия клиента, открывающего его?
можно ли сделать так, чтобы скрипт на сервере запускался в назначенное время
Если хостер разрешает добавлять crontab, то курим $ man crontab
затем
$ crontab -e
под мастдаем "Назначенные задания".
...
Эмм... мало чего понял. Можно где-нибудь подробнее про это прочитать?
Эмм... мало чего понял. Можно где-нибудь подробнее про это прочитать?
погугли по слову cron
Создавать новую тему не хочу. Хотя было бы логичнее убрать темы вопросников по html, css, php, javascript и создать один - интернет программирование или вопросник по сайтам.
Вообщем, мои вопросы:
1) Как сделать то, что обрамлено красным на аттаче?
2) Где на русском можно найти нормальную информацию об индексации поисковиком google, файлах sitemap и robot.txt? Желательно с примерами.
3) Можно ли получить получить 100% точное дерево расположение каталогов и файлов на каком-либо произвольно взятом сайте. Допустим, с помощью программ.
4) Есть ли способ получить исходный код php-страницы с сервера, при работающем модуле php. Также на примере произвольно взятого (не своего) сайта.
Создавать новую тему не хочу. Хотя было бы логичнее убрать темы вопросников по html, css, php, javascript и создать один - интернет программирование или вопросник по сайтам.
Вообщем, мои вопросы:
1) Как сделать то, что обрамлено красным на аттаче?
2) Где на русском можно найти нормальную информацию об индексации поисковиком google, файлах sitemap и robot.txt? Желательно с примерами.
3) Можно ли получить получить 100% точное дерево расположение каталогов и файлов на каком-либо произвольно взятом сайте. Допустим, с помощью программ.
4) Есть ли способ получить исходный код php-страницы с сервера, при работающем модуле php. Также на примере произвольно взятого (не своего) сайта.
по второму пункту - www.promoforum.ru
и думаю, что вполне на остальные вопросы могут ответить и там
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) Нет.
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) Нет.
Отлично!
Есть способ скрыть от этой и аналогичных программ некоторые дирректории/файлы?
есть. надо просто смотреть, чтоб на скрываемую страницу не было ссылок и чтоб её имя было сложным для предотвращения перебора имён по словарю. так же можно в отдельных директориях .htaccess'ом ращрешить доступ только с конктерных айпишников или вовсе авторизацию внедрить
так же можно в отдельных директориях .htaccess'ом ... вовсе авторизацию внедрить
Для внутреннего доступа к этой директории, скажем при обращении php-скрипта этого же сайта (открытие файла через fopen() или include() ), тоже потребуется авторизация?
Для внутреннего доступа....тоже потребуется авторизация?
Нет. В .htaccess директивы только для вэб сервера.
Нет. В .htaccess директивы только для вэб сервера.
Ага, разобрался. Спасибо!
Дано:
Произвольная строка из формы, состоящая из адресов web-сайтов, e-mail и обычного текста.
Необходимо:
Получить новую строку, в которой все электронные адреса будут заменены на их html-код.
Дано:
Произвольная строка из формы, состоящая из адресов web-сайтов, e-mail и обычного текста.
Необходимо:
Получить новую строку, в которой все электронные адреса будут заменены на их html-код.
Почта Васи Пупкина vasya_pupkin@mail.server.com бла бла бла
Почта Васи Пупкина <a href="mailto:vasya_pupkin@mail.server.com">vasya_pupkin@mail.server.com</a> бла бла бла
?
Точно!
$result = ereg_replace('[\\w\\.-]+@[\\w\\.]+',
'<a href="mailto:\\0">\\0</a>', $subject);
$result = ereg_replace(
'[[:alnum:]_.-]+@[[:alnum:].]+',
'<a href="mailto:\\0">\\0</a>',
$subject
);
Спасибо, Бобо! :)
Не могу никак разобраться с заданием прав доступа к файлам/каталогам. В результате не хотят работать функции fopen(), fwrite() и прочие по этой теме.
Не могу никак разобраться с заданием прав доступа к файлам/каталогам.
http://ru.wikipedia.org/wiki/Chmod
Да не, это не то. Это я знаю. У меня проблемы с использованием функции chmod().
В php-сценарии пишу следующее:
chmod('catalog/text.txt', 0777);
Работать не хочет. Что делать?
chmod('catalog/text.txt', 0777);
Работать не хочет. Что делать?
менять чмод у файла может только владелец/создатель файла или root. под каким uid у тебя у тебя веб сервер работает? Всяко не под root-ом, это было бы верхом глупости. Небось аpache или nobody.
Я использую хостинг Мастерхоста. Где-то читал, что Far может менять атрибуты файлам и каталогам через протокол ftp. Но эта интерфейсная уродина не хочет заходить на Мастерхост.
Вообщем, что мне нужно сделать, чтобы я смог в php-сценариях пользоваться функциями для открытия/чтения/записи файла?
Иначе я попадаю в нехорошую ситуацию - разработал админку для сайта (я не пользуюсь готовыми cms) на домашнем компьютере (apache windows). А на сервере Мастерхоста (возможно_апаче unix) она не работает.
Я использую хостинг Мастерхоста....Far может ... не хочет заходить на Мастерхост.
что мне нужно сделать, чтобы я смог в php-сценариях пользоваться функциями для открытия/чтения/записи файла?
чем ты файлы на хостинг заливаешь? WinSCP, Тотал или еще чем? Ими и меняй сразу у созданного файла/папок атрибуты. Не забывай, чтобы писать (или создавать) файлы в папку, на нее тоже нужен разрешенный атрибут записи.
чем ты файлы на хостинг заливаешь? WinSCP, Тотал или еще чем? Ими и меняй сразу у созданного файла/папок атрибуты. Не забывай, чтобы писать файлы в папку на нее тоже нужен атрибут записи.
Я Тоталом заливаю, но не нашел в нем функции корректировки атрибутов.
Я Тоталом заливаю, но не нашел в нем функции корректировки атрибутов.
Файл - Изменить атрибуты. Посмотреть атрибуты всех файлов сразу можно по alt+enter. Можно из командной строки тотала прямо писать chmod 0777 имя_файла
Файл - Изменить атрибуты
АФИГЕТЬ!!! Спасибо, Бобо!!! :)
АФИГЕТЬ!!! Спасибо, Бобо!!! :)
Ага. Удивительное рядом. :D
<?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 );
?>
Письма, отправленные с помощью данного кода, всегда попадают в папку со спамом.
В других способах отправки сообщений не могу разобраться без посторонней помощи.
Будьте добры, покажите "на пальцах", как надо правильно делать.
есть предположение, что почтовый сервер при получении письма проверят айпишник smtp-сервера и сравнивает его с айпишником, которым резолвится домен, если адреса сильно разнятся, то письмо помечается спамом
Попадание в спам никак не связанно с этим кодом.
Можно реализовать отправку с помощью php-скрипта таким образом, чтобы мне было счастье?
почтовый сервер при получении письма проверят айпишник smtp-сервера и сравнивает его с айпишником, которым резолвится домен, если адреса сильно разнятся, то письмо помечается спамомнет
Можно реализовать отправку с помощью php-скрипта таким образом, чтобы мне было счастье?
Я думаю проблема в другом, данный smtp сервер, через который происходить рассылка, или ип хоста на котором запускается скрипт, находится в черных списках у гугля. Убеждать что ты не верблюд саппорт гугля.
Проверь почту на demoniq.sz(собака)gmail.com. Если там есть письмо от меня и оно не в спаме, то так и есть.
Данный smtp сервер, через который происходить рассылка, или ип хоста на котором запускается скрипт, находится в черных списках у гугля.
Затестировал на Яндексе - приходит во "Входящие".
Проверь почту на demoniq.sz(собака)gmail.com. Если там есть письмо от меня и оно не в спаме, то так и есть.
Да, так и есть.
А в графе From можно безболезненно использовать левые мыла?
А в графе From можно безболезненно использовать левые мыла?
Можно. Как правило, происходит только проверка на существование домена. В данном случае gmail.com существует, следовательно письма уходят. Проверяет это smtp сервер, что отправляет твое письмо.
Спасибо, с этим разобрался.
А в чем прелесть отправки писем через сокеты, sendmail, ActiveX?
А в чем прелесть отправки писем через сокеты...
В изучении тонкостей smtp протокола. =) mail() сама формирует доп. заголовки, открывая сокет, соединяется с сервером и т.д. для win32. Под линуксом mail() сама вызывает sendmail. Если ты хочешь это делать самостоятельно без посредника, флаг в руки барабан на шею.
ps: ActiveX не пользовал.
Спасибо большое за помощь в изучении данного вопроса!
Сам бы я долго докапывался до истины.
Помогите решить такую несложную задачу. В каталоге есть несколько разных php-файлов. В каждом из этих файлов есть кусок кода, который нас интересует (скажем, баннер).
Вопрос: как сделать вывод случайного баннера с этих страниц на другой php-странице? Насколько я знаю, функция echo file_get_contents выводит содержимое файла целиком.
Помогите решить такую несложную задачу. В каталоге есть несколько разных 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)]);
?>
file_get_contents() читает файл как есть. если надо выполнять случайный php скрипт, то использовать надо include();
Я не понял, как в этом массиве указать, какой именно скрипт в каждом файле (file1, file2, file3) нас интересует?
Я не понял, как в этом массиве указать, какой именно скрипт в каждом файле (file1, file2, file3) нас интересует?
fileN.php и есть скрипт. или тебе надо вызывать конкретную функцию, которая находится в fileN.php ?
fileN.php и есть скрипт. или тебе надо вызывать конкретную функцию, которая находится в fileN.php ?
Да, именно так - конкретная функция. Вызвать надо случайным образом из любого из этих файлов - но одну конкретную функцию (как писал выше, например пусть это будет код баннера). Баннеров в каждом fileN несколько, а нам надо в массиве для случайного вывода записать только один для каждого.
Да, именно так - конкретная функция. Вызвать надо случайным образом из любого из этих файлов - но одну конкретную функцию (как писал выше, например пусть это будет код баннера). Баннеров в каждом fileN несколько, а нам надо в массиве для случайного вывода записать только один для каждого.
Если в каждом fileN только функции и ничего более, то просто вызвать конкретную функцию после include.
<?php
$scripts = array("file1.php", "file2.php", "file3.php");
include($scripts[rand(0,sizeof($scripts)-1)]);
showMyBannerFunction(); //функция выводящая банер
?>
Что-то не соображу всё равно... лучше объясню на конкретном примере =)
Есть файл:
http://tophit.org/channels/radio/all.php
В нём ссылки на страницы вещания радиостанций. На каждой странице встроен проигрыватель с адресом потока.
Нужно, чтобы при каждой загрузке страницы all.php где-нибудь вверху таблицы играла случайная радиостанция из этого списка. То есть, чтобы загружался медиа-плеер с любой из страниц.
Что-то не соображу всё равно... лучше объясню на конкретном примере =)
Есть файл:
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 случайным образом, как я и писал ранее.
ps: Хорошо конечно бы видеть исходный текст какого нибудь keksfm.php, но подозреваю, что код плеера просто в виде html.
PHP код находится между тэгами <?php .... ?>. Все что вне его, выводится как есть.
Спасибо, вроде получилось со случайным выводом 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>
<br>
</td>
</tr>
</table>
</div>
Только теперь проблема - при воспроизведении станции загружается 2 плейера... Ещё один файл all.php делать, что ли?
Вместо,
<?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 вставляется определенная.
Помогите, пожалуйста, уже все мозги сломал.
Есть код для 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 } } ?>
Он работает - но не так, как надо. Выводится заголовок поста - а нужно чтобы выводился пост целиком.
Дашенька, спасибо, но так вообще ничего не отображается =)
Дашенька, спасибо, но так вообще ничего не отображается =)
Ну тогда сделай так:
<?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 "Постов не найдено";
}
} } ?>
Даша, так тоже не получется - просто пустой экран. Ты сама можешь убедиться, установив тестовый экземпляр 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
Некрасиво оформлено. Буду думать дальше, пока пусть так =)
Ты сама можешь убедиться
дык я проверяла перед тем, как тебе кинуть, у меня все работает
дык я проверяла перед тем, как тебе кинуть, у меня все работает
У меня в теле страницы (например хидер или футер) тоже работает, а вот в самом посте как php-код - нет... Не знаю, может это ещё от версии wp зависит и от используемой темы...
а вот в самом посте как php-код - нет...
не очень поняла, что ты имел ввиду, но если очень надо, то напиши мне - разберемся
Пожалуйста, попробуйте авторизоваться на сайте через какой-либо из этих соц. сервисов:
vkontakte, facebook, twitter, livejournal, google, yandex, mailruapi, odnoklassniki, openid.
http://citemind.info/wp-login.php
А то чё-то некоторые жалуются, что не работает эта фича...
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions, Inc. Перевод: zCarot