Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Модули (http://forum.mynuke.ru/forumdisplay.php?f=17)
-   -   Модуль Files (http://forum.mynuke.ru/showthread.php?t=1271)

Spark 12.02.2006 01:22

Модуль Files
 
подскажите пожалуйста, можно ли сделать возможность скачивания файла не заходя на его страницу, т.е. в каталоге рядом с названием файла сделать прямую ссылку на файл. и возможно ли при этом считать кол-во скачиваний?

заранее спасибо за ответы!

Soniks 12.02.2006 14:52

Spark через прямую ссылку нельзя посчитать скачивания.

new_man 12.02.2006 15:37

А можно сделать такое: создаешь папку files в корне каталога, потом создаешь скрипт, который публикует и разыскивает файлы в этой папке с расширением rar, zip, jar на страницу файлов? И можно ли сделать добавку файлов с компьютера кнопкой обзор и добавить?

Soniks 12.02.2006 22:20

new_man да все можно, посмотрите скрипты антиличеры (antileech), они похоже работают

Spark 13.02.2006 00:36

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

Soniks 13.02.2006 18:46

посмотрите вот этот модуль http://mynuke.ru/modules.php?name=D...p=getit&lid=178

Spark 13.02.2006 20:49

модуль менять не хочу. а как сделать прямую ссылку на файл? фиг со счетчиком

Soniks 14.02.2006 01:20

в каком месте именно вы хотите сделать эту ссылку?

Spark 14.02.2006 02:11

Чтобы в каталоге рядом с каждым названием (при нажатии на названии открывается окно файла) была в скобочках прямая ссылка на файл. примерно так, как на этом сайте http://dimonvideo.ru/files
заранее спасибо!

Soniks 14.02.2006 15:01

Откройте modules/Files/index.php
Найдите 3 раза:
PHP код:
 reitinggraphic($votes$totalvotes);
    echo 
"</td></tr>"

Замените на:
PHP код:
 reitinggraphic($votes$totalvotes);
    echo 
"&nbsp;(<a href=\"modules.php?name=$module_name&go=getit&lid=$lid\">Скачать</a>)</td></tr>"

Найдите:
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 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");


Замените на:
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");


Spark 14.02.2006 21:02

огромное спасибо, всё работает!

и ещё один вопрос по этому модулю: как сделать поиск по модулю?

Soniks 15.02.2006 02:32

Можно изменить стандартный поиск, для этого откройте modules/Search/index.php
найдите:
PHP код:
 }
CloseTable();
    if (isset(
$query) AND $query != "") {
echo 
"<br>"

В замен добавьте:
PHP код:
 } 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=\"\">&nbsp;<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&amp;author=$author&amp;topic  =$t&amp;min=$prev&amp;query=$query&amp;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&amp;author=$author&amp;topic  =$t&amp;min=$max&amp;query=$query&amp;type=files\">";
                        print 
"<b>"._NEXTMATCHES."</b></a></center>";
                }
     }
}
    
CloseTable();
    if (isset(
$query) AND $query != "") {
echo 
"<br>"

должно работать.

Spark 15.02.2006 15:03

заменил, но всё равно не ищет

Soniks 15.02.2006 17:15

нужно еще после
PHP код:
 echo "<input type=\"radio\" name=\"type\" value=\"users\" $sel3> "._SUSERS.""

добавить:
PHP код:
 echo "<input type=\"radio\" name=\"type\" value=\"files\"> Файлах"

Spark 15.02.2006 22:32

всё равно не работает.

Soniks 16.02.2006 00:49

Spark а что значит не работает? вы выбираете что надо искать в файлах?

Spark 16.02.2006 02:08

конечно. да и пункта где искать ("файлах") нету вообще

вобщем теперь ищет, но не переходит на страницу файла

и ещё пишет всё равно:

далее...

К сожалению, по вашему запросу ничего не найдено...

Поиск "***" на:


Google
Google Groups

Soniks 16.02.2006 03:19

Spark ну это выводиться так в стандартном поиске, если надо, можите удалить этот кусок кода:
PHP код:
 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 поста выше)

Spark 16.02.2006 09:34

теперь ссылка такого типа /modules.php?name=Files&go=view_file&lid=0 ну и соответственно переходит на главную..

Soniks 16.02.2006 16:21

еще подправил

Spark 16.02.2006 23:32

Заработало, спасибо!!!

ну и теперь последний вопрос, как сделать, чтобы в начало раздела выводились последние 10 файлов и над ними указывалась категория где они находятся (например Операционные системы -> Windows)

Soniks 17.02.2006 00:51

посмотрите как это выполнено в блоке new_files идущий вместе с модулем и по анологии вставляйте в нужное вам место в самом модуле.

Spark 17.02.2006 21:52

а можно сделать возможностью загрузки скриншота через админку, а не вручную?

Soniks 17.02.2006 23:51

Spark можно все, но для этого нужны знания в php

Kxu 22.02.2006 11:34

Soniks , хочу сделать загрузку картинок на сайт с панели админа, чтобы картинка в соостветствующую папку, а папки создавались автоматически, те пронумеровывались!!! потом эти картинки отображались в блоках просмотра пользователями, например фотогаллерея, открывались все блоги фотогаллереи с краткой информацией, а подробнее все фотки из соответствующей папки. Можно!?!?!? ответ Да, не устраивает, кратко о важном хочу очень, пожалуйста!!! С чего начать создавать модуль????

Soniks 22.02.2006 17:19

Kxu советую взять простенькую галерею и посмотреть, как там все это устроено, и делать по аналогии.

isic 29.03.2007 12:30

Ответьте пожалуйста как решить эти проблемки?
У меня такие проблемы:
1. не могу закачать файлы больших объемов, например 2,5 мега. Хотя в конфиге в необходимой позиции указал $max_size = 50000000;. И ругается таким образом, если под админом. то пишет что Вы не указали какой файл закачать. Почему такое пишет? Как исправить? Файл архивирован в зипе как положено.
2. Когда я под пользователем и пытаюсь добавить файл, тоже за архивирован в зипе и весит всего лишь 160 КБ то он пишет ошибку такого рода "По какой-то причине система не смогла загрузить файл. Проверьте правильность свойст (CHMOD) для директорий с файлами."
CHMOD двух папок стоят 770. Но что самое интересное если добавляю через админ панель то файлы маленьких размеров добавляются отлично.
3. Я бы хотел бы что бы в комментариях не было системного редактора, то есть обычное поле для текста.
Ну пока вроде все.У меня такие проблемы:
1. не могу закачать файлы больших объемов, например 2,5 мега. Хотя в конфиге в необходимой позиции указал $max_size = 50000000;. И ругается таким образом, если под админом. то пишет что Вы не указали какой файл закачать. Почему такое пишет? Как исправить? Файл архивирован в зипе как положено.
2. Когда я под пользователем и пытаюсь добавить файл, тоже за архивирован в зипе и весит всего лишь 160 КБ то он пишет ошибку такого рода "По какой-то причине система не смогла загрузить файл. Проверьте правильность свойств (CHMOD) для директорий с файлами."
CHMOD двух папок стоят 770. Но что самое интересное если добавляю через админ панель то файлы маленьких размеров добавляются отлично.
3. Я бы хотел бы что бы в комментариях не было системного редактора, то есть обычное поле для текста.
Ну пока вроде все.

Astrix 30.03.2007 19:52

1) Смотрите, какие ограничения на размер файлов стоят в вашем php.ini (хотя обычно это 8-10 Мб)
3) редактор можно либо совсем выключить, либо придется видеть его везде, где в форме присутствует textarea

isic 02.04.2007 12:51

УважаемыйAstrix с редактором спасибо решил я его вообще отключил в данном модуле, а вот с загрузкой не понял. а что за файл
Цитата php.ini
Вы имели виду? Я что то не нашел такой файл и честно сказать название файл не понял. Где он находиться?

Astrix 03.04.2007 02:34

Обычно в \usr\local\php в директории, куда установлен сервер

stvmts 29.04.2007 17:03

такой вопросец..работал рабатал модуль..потом перестал грузить файлы...
пишет
по какой-то причине система не смогла загрузить файл. проверте правильность свойст (chmod) для директорий с файлами.

пожалуйста вернитесь назад и исправьте.

Chmod стоит 777

Proxydj 29.04.2007 21:46

Цитата: Сообщение от stvmts
такой вопросец..работал рабатал модуль..потом перестал грузить файлы...
пишет
по какой-то причине система не смогла загрузить файл. проверте правильность свойст (chmod) для директорий с файлами.

пожалуйста вернитесь назад и исправьте.

Chmod стоит 777

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

stvmts 03.05.2007 09:56

права в норме..проверял перезаливал..папочки..
места навалом..


Часовой пояс GMT +4, время: 09:59.

Copyright © 2005 by Soniks