Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > редактирование через web-панель


Автор: DiverD 14.8.2006, 12:06
толька щас столкнулся впервые с web.
задача:
            Есть поле в котором написано имя файла которое нужна отредоктировать и кнопка edit;
            по нажатию кнопки должно открыться text area с содержимым файла и кнопкой save.
как мне все ето сделать?

Автор: nitr 14.8.2006, 14:35
smile))
Ну а написание файл-менеджера... сам пиши smile
В моём скрипте всё просто сделано, это тебе типа "тычок" ;) предполагается, что файл в корне со скриптом...

Код

#!perl
use strict;
use CGI qw(Vars);

my %params = Vars;
if ($params{action} eq 'edit') {
    open my $flh, '<', './'.$params{file};
    local $/;
    my $content = <$flh>;
    close $flh;
    print "Content-type: text/html\n\n";
    print qq|<form enctype="multipart/form-data" method="POST" action="edit.cgi">
    <input type="hidden" name="action" value="save">
    <input type="hidden" name="file" value="$params{file}">
    <textarea name="content" rows="8">$content</textarea>
    <input type="submit" value="Save">
    </form>|;
} elsif ($params{action} eq 'save') {    
    print "Refresh: 2; URL=edit.cgi\n\n";
    print "Изменяю...";
    open my $flh, '>', './'.$params{file};
    print $flh $params{content};
    close $flh;
} else {
    print "Content-type: text/html\n\n";
    print qq|<form enctype="multipart/form-data" method="POST" action="edit.cgi">
    <input type="hidden" name="action" value="edit">
    <input type="text" name="file" value="file.ext">
    <input type="submit" value="Edit">
    </form>|;
}


Рабочий, но оптимизировать надо!

Добавлено @ 14:37 
файлик file.ext
Код

TEXT
TEXT
TEXT
TEXT

Автор: DiverD 14.8.2006, 15:59
=)
thnx nitr

Автор: nitr 15.8.2006, 15:13
ну а файл-менеджер... можешь посмотреть как это делали другие, примеры - веб-шеллы, написанные на перл. ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)