View Full Version : Модуль Files
подскажите пожалуйста, можно ли сделать возможность скачивания файла не заходя на его страницу, т.е. в каталоге рядом с названием файла сделать прямую ссылку на файл. и возможно ли при этом считать кол-во скачиваний?
заранее спасибо за ответы!
Spark через прямую ссылку нельзя посчитать скачивания.
А можно сделать такое: создаешь папку files в корне каталога, потом создаешь скрипт, который публикует и разыскивает файлы в этой папке с расширением rar, zip, jar на страницу файлов? И можно ли сделать добавку файлов с компьютера кнопкой обзор и добавить?
new_man да все можно, посмотрите скрипты антиличеры (antileech), они похоже работают
ну вот после нажатия скачать, открывается окно и затем начинается загрузка файла, вот можно ли эту кнопку сделать рядом с названием файла? тогда сразу после нажатия и считывание будет и ничего больше не будет открываться. а то очень не удобно, приходится 2 лишних страницы пройти чтобы файл скачать. подскажите пожалуйста, ведь это реально сделать.
посмотрите вот этот модуль http://mynuke.ru/modules.php?name=Downloads&op=getit&lid=178
модуль менять не хочу. а как сделать прямую ссылку на файл? фиг со счетчиком
в каком месте именно вы хотите сделать эту ссылку?
Чтобы в каталоге рядом с каждым названием (при нажатии на названии открывается окно файла) была в скобочках прямая ссылка на файл. примерно так, как на этом сайте http://dimonvideo.ru/files
заранее спасибо!
Откройте modules/Files/index.php
Найдите 3 раза:
reitinggraphic($votes, $totalvotes);
echo "</td></tr>";
Замените на:
reitinggraphic($votes, $totalvotes);
echo " (<a href=\"modules.php?name=$module_name&go=getit&lid=$lid\">Скачать</a>)</td></tr>";
Найдите:
function getit($lid) {
global $prefix, $db, $module_name;
$lid = intval($lid);
$hits = intval($hits);
$db->sql_query("update ".$prefix."_files set hits=hits+1 WHERE lid=$lid");
$sql = "SELECT title, url FROM ".$prefix."_files WHERE lid='$lid'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$f_title = $row[title];
$url = $row[url];
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5; URL=$url\">";
include("header.php");
menu();
OpenTable();
echo "<center><br><br><br>"._NOTEDOWNLOAD." <b>$f_title</b> "._NOTEDOWNLOAD2."<br><br><br><br>";
echo "<b><a href=\"$url\">$url</a></b><br><br><br><br>";
echo "[ <a href=\"javascript:history.go(-1)\">"._PBACK."</a> | <a href=\"modules.php?name=$module_name\">"._PHOME."</a> ]<br><br><br></center>";
CloseTable();
include("footer.php");
}
Замените на:
function getit($lid) {
global $prefix, $db, $module_name;
$lid = intval($lid);
$hits = intval($hits);
$db->sql_query("update ".$prefix."_files set hits=hits+1 WHERE lid=$lid");
$sql = "SELECT url FROM ".$prefix."_files WHERE lid='$lid'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$url = $row['url'];
header("Location: $url");
}
огромное спасибо, всё работает!
и ещё один вопрос по этому модулю: как сделать поиск по модулю?
Можно изменить стандартный поиск, для этого откройте modules/Search/index.php
найдите:
}
CloseTable();
if (isset($query) AND $query != "") {
echo "<br>";
В замен добавьте:
} elseif ($type=="files" OR !$type) {
$res_f = $db->sql_query("SELECT lid, title, description FROM ".$prefix."_files WHERE (title LIKE '%$query%' OR description LIKE '%$query%') $queryrlang ORDER BY lid DESC LIMIT $min,$offset");
$nrows = $db->sql_numrows($res_f);
$x=0;
if ($query != "") {
echo "<br><hr noshade size=\"1\"><center><b>"._SEARCHRESULTS."</b></center><br><br>";
echo "<table width=\"99%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";
if ($nrows>0) {
while($rowf = $db->sql_fetchrow($res_f)) {
$lid = intval($rowf['lid']);
$title = stripslashes(check_html($rowf['title'], "nohtml"));
$description = stripslashes($rowf['description']);
$furl = "modules.php?name=Files&go=view_file&lid=$lid";
echo "<tr><td><img src=\"images/folders.gif\" border=\"0\" alt=\"\"> <font class=\"option\"><a href=\"$furl\"><b>$title</b></a></font><br>"
."<font class=\"content\">$description</font><br></td></tr>\n";
$x++;
}
echo "</table>";
} else {
echo "<tr><td><center><font class=\"option\"><b>"._NOMATCHES."</b></font></center><br><br>";
echo "</td></tr></table>";
}
$prev=$min-$offset;
if ($prev>=0) {
print "<br><br><center><a href=\"modules.php?name=$module_name&author=$author&topic=$t&min=$prev&query=$query&type=files\">";
print "<b>$min "._PREVMATCHES."</b></a></center>";
}
$next=$min+$offset;
if ($x>=9) {
print "<br><br><center><a href=\"modules.php?name=$module_name&author=$author&topic=$t&min=$max&query=$query&type=files\">";
print "<b>"._NEXTMATCHES."</b></a></center>";
}
}
}
CloseTable();
if (isset($query) AND $query != "") {
echo "<br>";
должно работать.
заменил, но всё равно не ищет
нужно еще после
echo "<input type=\"radio\" name=\"type\" value=\"users\" $sel3> "._SUSERS."";
добавить:
echo "<input type=\"radio\" name=\"type\" value=\"files\"> Файлах";
Spark а что значит не работает? вы выбираете что надо искать в файлах?
конечно. да и пункта где искать ("файлах") нету вообще
вобщем теперь ищет, но не переходит на страницу файла
и ещё пишет всё равно:
далее...
К сожалению, по вашему запросу ничего не найдено...
Поиск "***" на:
Google
Google Groups
Spark ну это выводиться так в стандартном поиске, если надо, можите удалить этот кусок кода:
OpenTable();
echo "<font class=\"title\">"._FINDMORE."<br><br>"
.""._DIDNOTFIND."</font><br><br>"
.""._SEARCH." \"<b>$query</b>\" "._ON.":<br><br>"
."<ul>"
."$mod1"
."$mod2"
."$mod3"
."<li> <a href=\"http://www.google.com/search?q=$query\" target=\"new\">Google</a>"
."<li> <a href=\"http://groups.google.com/groups?q=$query\" target=\"new\">Google Groups</a>"
."</ul>";
CloseTable();
вобщем теперь ищет, но не переходит на страницу файла
немного ссылку подправил (на 3 поста выше)
теперь ссылка такого типа /modules.php?name=Files&go=view_file&lid=0 ну и соответственно переходит на главную..
Заработало, спасибо!!!
ну и теперь последний вопрос, как сделать, чтобы в начало раздела выводились последние 10 файлов и над ними указывалась категория где они находятся (например Операционные системы -> Windows)
посмотрите как это выполнено в блоке new_files идущий вместе с модулем и по анологии вставляйте в нужное вам место в самом модуле.
а можно сделать возможностью загрузки скриншота через админку, а не вручную?
Spark можно все, но для этого нужны знания в php
Soniks , хочу сделать загрузку картинок на сайт с панели админа, чтобы картинка в соостветствующую папку, а папки создавались автоматически, те пронумеровывались!!! потом эти картинки отображались в блоках просмотра пользователями, например фотогаллерея, открывались все блоги фотогаллереи с краткой информацией, а подробнее все фотки из соответствующей папки. Можно!?!?!? ответ Да, не устраивает, кратко о важном хочу очень, пожалуйста!!! С чего начать создавать модуль????
Kxu советую взять простенькую галерею и посмотреть, как там все это устроено, и делать по аналогии.
Ответьте пожалуйста как решить эти проблемки?
У меня такие проблемы:
1. не могу закачать файлы больших объемов, например 2,5 мега. Хотя в конфиге в необходимой позиции указал $max_size = 50000000;. И ругается таким образом, если под админом. то пишет что Вы не указали какой файл закачать. Почему такое пишет? Как исправить? Файл архивирован в зипе как положено.
2. Когда я под пользователем и пытаюсь добавить файл, тоже за архивирован в зипе и весит всего лишь 160 КБ то он пишет ошибку такого рода "По какой-то причине система не смогла загрузить файл. Проверьте правильность свойст (CHMOD) для директорий с файлами."
CHMOD двух папок стоят 770. Но что самое интересное если добавляю через админ панель то файлы маленьких размеров добавляются отлично.
3. Я бы хотел бы что бы в комментариях не было системного редактора, то есть обычное поле для текста.
Ну пока вроде все.У меня такие проблемы:
1. не могу закачать файлы больших объемов, например 2,5 мега. Хотя в конфиге в необходимой позиции указал $max_size = 50000000;. И ругается таким образом, если под админом. то пишет что Вы не указали какой файл закачать. Почему такое пишет? Как исправить? Файл архивирован в зипе как положено.
2. Когда я под пользователем и пытаюсь добавить файл, тоже за архивирован в зипе и весит всего лишь 160 КБ то он пишет ошибку такого рода "По какой-то причине система не смогла загрузить файл. Проверьте правильность свойств (CHMOD) для директорий с файлами."
CHMOD двух папок стоят 770. Но что самое интересное если добавляю через админ панель то файлы маленьких размеров добавляются отлично.
3. Я бы хотел бы что бы в комментариях не было системного редактора, то есть обычное поле для текста.
Ну пока вроде все.
1) Смотрите, какие ограничения на размер файлов стоят в вашем php.ini (хотя обычно это 8-10 Мб)
3) редактор можно либо совсем выключить, либо придется видеть его везде, где в форме присутствует textarea
УважаемыйAstrix с редактором спасибо решил я его вообще отключил в данном модуле, а вот с загрузкой не понял. а что за файл php.ini Вы имели виду? Я что то не нашел такой файл и честно сказать название файл не понял. Где он находиться?
Обычно в \usr\local\php в директории, куда установлен сервер
такой вопросец..работал рабатал модуль..потом перестал грузить файлы...
пишет
по какой-то причине система не смогла загрузить файл. проверте правильность свойст (chmod) для директорий с файлами.
пожалуйста вернитесь назад и исправьте.
Chmod стоит 777
такой вопросец..работал рабатал модуль..потом перестал грузить файлы...
пишет
по какой-то причине система не смогла загрузить файл. проверте правильность свойст (chmod) для директорий с файлами.
пожалуйста вернитесь назад и исправьте.
Chmod стоит 777
Ну тут два варианта
1) возможно слители права на папку (куда он кидает файло)
2) возможно закончилось место на HDD
3) третьего варианта быть не должно
права в норме..проверял перезаливал..папочки..
места навалом..
MyNuke.ru