aftamat4ik

Рейтинг
55
Регистрация
05.01.2012
Интересы
php + Drupal
программист недосамоучка

Друзья, кому из вас доводилось делать на Drupal модули с формой? В общем я реализовал плагин для Drupal который выводит результаты поиска по введенному словосочетанию. Модуль имеет блок с формой типа textfield и кнопку сабмит. Запрос введенный в текстовое поле перекидывает юзеря на страницу с таким урл: /rm/search/{текст запроса}

Код, генерируемый движком для формы таков:


<form action="/" method="post" id="audio-search-form" accept-charset="UTF-8"><div><div class="form-item form-type-textfield form-item-audiosearchfield">
<label for="edit-audiosearchfield">Поиск по аудиозаписям </label>
<input type="text" id="edit-audiosearchfield" name="audiosearchfield" value="" size="60" maxlength="128" class="form-text" />
<div class="description">Форма поиска по аудиозаписям</div>
</div>
<input type="submit" id="edit-submit" name="op" value="Искать" class="form-submit" /><input type="hidden" name="form_build_id" value="form-w8ATNONddJ0B19jJvGOj0pJtt330Vhb0pVa_at2hFog" />
<input type="hidden" name="form_id" value="audio_search_form" />
</div></form>

В общем мой вопрос звучит так: Будут ли поисковики индексировать результаты поиска по такой форме?(что то я сомневаюсь...) И если не будут - то как сделать их индексируемыми. Спасибо)

--------------------------------------------------------------

Garin33:
Сообщение от Vladvladvlad Посмотреть сообщение
Недавно купил сайт на друпал. http://www.92moment.com/
Теперь на нем вылазят какие-то ошибки прямо на главной! Подскажите, что не так и как с этим бороться?!



Warning: tempnam() [function.tempnam]: open_basedir restriction in effect. File(/tmp/) is not within the allowed path(s): (/home/vladvlad/data:.) в функции drupal_tempnam() (строка 2401 в файле /home/vladvlad/data/www/92moment.com/includes/file.inc).
Warning: file_put_contents() [function.file-put-contents]: Filename cannot be empty в функции file_unmanaged_save_data() (строка 1904 в файле /home/vladvlad/data/www/92moment.com/includes/file.inc).
Невозможно создать файл.
Warning: tempnam() [function.tempnam]: open_basedir restriction in effect. File(/tmp/) is not within the allowed path(s): (/home/vladvlad/data:.) в функции drupal_tempnam() (строка 2401 в файле /home/vladvlad/data/www/92moment.com/includes/file.inc).
Warning: file_put_contents() [function.file-put-contents]: Filename cannot be empty в функции file_unmanaged_save_data() (строка 1904 в файле /home/vladvlad/data/www/92moment.com/includes/file.inc).
Невозможно создать файл.

/home/vladvlad/data/www/92moment.com/includes/file.inc - глянь там код, по ходу что-то с этим файлом не ладно...

читай тут http://www.drupal.ru/node/52069

тут http://stackoverflow.com/questions/10661917/php-filename-cannot-be-empty-in-file-get-contents

В админке иди в настройки файловой системы и там покрути.

Главная » Управление » Настройка

Pavel_:
Если Друпал установилсо, то картинки по-любому показывать должен

С большей долей вероятности marc поставил какую-то говно-сборку... ))

либо nginx глючит. Друпал тут не при чем. Даже на говно-сборках картинки показывать будет

Ну по идее список аудиозаписей - уникальный текст, разве нет?) хД Бред - бредом, но все же вот отрезок:

Пелагея - Доченька

Пелагея - Ой, да не вечер

Пелагея и Дарья Мороз (стихи - Гарик Сукачев) - Ольга (Вей, бей, проруха-судьба...)

Пелагея и Дарья Мороз - Конь

Пелагея - Когда Мы Были На Войне

Пелагея - Не для тебя

Пелагея - Шёл казак...

Пелагея - Пташечка

Пелагея и Дарья Мороз - Ariya Marii Magdalenyi (rok-opera "...

Вячеслав Бутусов, Ю-Питер и Пелагея - Настасья

Пелагея - Нюркина песня(автор Янка Дягилева)

Горшок и Пелагея - Ой при лужку при лужке

Пелагея - Лети перышко

По мне так 80-90% уник хДД

Страницы формируются путем обращения к скрипту, который парсит аудио из разных всяких источников....

Proofer:
Так сапа же)

Во во)...

garik77:
о сём знает только сам яндекс, великий и ужасный.

Ладно, закуплю сначала, а потом видно будет....) Всем спасибо.

То есть все зависит от случая?)Proofer,

function give_file($file) { #отдаем скачанный .mp3 файл
// сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт
// если этого не сделать файл будет читаться в память полностью!
if (ob_get_level()) {
ob_end_clean();
}
// заставляем браузер показать окно сохранения файла
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
// читаем файл и отправляем его пользователю
readfile($file);
exit;
}

Кэша тут с роду небыло)

---------- Добавлено 03.12.2012 в 01:01 ----------

Но по идее скачанный на сервер файл - не удаляется из папки /audio/, так что все что мне надо сделать - перед началом отправки запроса на закачку этого файла проверить - а нет ли такого же файла в папке /audio/

---------- Добавлено 03.12.2012 в 01:04 ----------

if(file_exists(dirname(__FILE__)."/audio/".$название фала)).....
Desk:
а кеширование настроено? Или у Вас каждый раз файлы будут перекачиваться?

Нет... хм а ведь вы правы надо заняться) Ща погуглю)

---------- Добавлено 03.12.2012 в 00:43 ----------

Хотя у меня Drupal 7 стоит, весь код парсера - это есть модуль к нему. Там же вроде есть кеширование по дефолту? Или все таки копнуть глубже и написать таки что то вроде кеша сомому?

siv1987:
curl_setopt ($ch, CURLOPT_USERAGENT, 'Parser😂 1.0');

Это у меня с давних пор стоит хДД

---------- Добавлено 02.12.2012 в 23:28 ----------

В общем я слегка подправил алгоритм - теперь у меня идет перенаправление потока

$file_url = "http:/".substr($file_id,strpos($file_id,"/",5),strlen($file_id));#урл файла


$fp = fopen (dirname(__FILE__) . '/audio/232.mp3', 'w+');//куда сохраняем файл
$ch = curl_init($file_url);
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_REFERER, $file_url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0");
curl_exec($ch);
curl_close($ch);

-Этим скачиваю на сервер

echo give_file(dirname(__FILE__) . '/audio/232.mp3');

-Этим отдаю файл юзерю)

Работает отлично

curl_setopt ($ch, CURLOPT_REFERER, $file_url);

Строка подделки реферера)

Какие есть еще методы маскировки?)

Вообще по идее я хочу написать скрипт(уже начал) который будет лазить по популярным музыкальным сайтам и выдирать оттуда музыку по ключевику. То есть будет нечто воде поиска по названию того или иного .mp3 файла. Ну и будет возможность его скачки и прослушивания.(Я вообще за свободу распространения любой музыки. В песне - душа человека. Разве можно продавать душу?) То есть по сути я экономлю пространство на своем хостинге(не заливаю лишние файлы музыки). Но с другой стороны - как то не хорошо это наверное... Вот мне и интересно - что мне за это будет нехорошего)) Может вообще не стоит заниматься, кто знает?))

---------- Добавлено 01.12.2012 в 21:39 ----------

Sma11erM1nd:
А вот по второму вопросу - непонятно. Зачем оно вам?

Ну дело в том что не стану же я в открытом виде писать что-то вроде

<ul>

<li><a href="redstarmusic.ru/adasd/1.mp3">1.mp3</a></li>

.................

А буду делать так:

<li><a href="mysite.ru/audio/1.mp3">1.mp3</a></li>

.................

А запрос к /audio/ буду редиректом(.htacess) перекидывать к redstarmusic.ru/adasd/

---------- Добавлено 01.12.2012 в 21:43 ----------

________________

Да и спалить меня очень просто - у них плеер позволяет одновременно слушать только 1 mp3 файл, а если с ипа будет несколько запросов к нескольким mp3шкам)) Вот оно палево то)

Всего: 143