Тема: Apache

Ответить в теме
Показано с 1 по 16 из 16
  1. Вверх #1
    Anonymous
    гость

    По умолчанию Apache

    Как настроить Apache на Upload?


  2. Вверх #2
    Постоялец форума Аватар для Lord of rings
    Пол
    Мужской
    Адрес
    Одесса, типа украина...
    Сообщений
    2,377
    Репутация
    172
    А можно как-то поподробнее вопрос изложить???
    Per rectum ad astrum!

  3. Вверх #3
    Anonymous
    гость
    Ну вот стоит на одном компе Apache. С другого компа хотят положить на комп, где он стоит, файлик) Чего и где надо написать, что бы он работал не только в одну сторону(только скачать)?

  4. Вверх #4
    Anonymous
    гость
    или если кто может, найдите тут ошибку пож. не могу найти :?

    <form enctype="multipart/form-data" method="post" action="upload_script.php">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000">
    Выберите файл: <input name="имя_поля" type="file">
    <input type="submit" value="Послать файл">
    </form>
    <?php
    function doUpload($FVARS, $field_name, $overwrite=false, $uniquename=false){
    $storage="/home/www/public_html/uploads/";
    $flag = (bool) ini_get("safe_mode");
    if ($flag||(!strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'win'))){
    if (getmyuid()!=fileowner($storage)){
    die("Safe mode uncompatibililty. Check owner for '".$storage"'");
    }
    }
    $allowed=array(
    'jpg',
    'gif',
    'rar',
    'pdf',
    'doc',
    'txt',
    'rtf'
    );
    $maxsize=2000000;
    $filename=$FVARS[$field_name]['name'];
    $filename=$FVARS[$field_name]['size'];
    $fileext=strtolower(substr(strrchr($filename,"."), 1));
    if(!in_array($fileext, $allowed)){
    die("Недопустимый тип файла");
    }
    if($filesize>$maxsize){
    die("Слишком большой файл");
    }
    $tmpfname=$FVARS[$field_name]['tmp_name'])
    $filename = ereg_replace("[^a-z0-9._]", "",
    str_replace(" ", "_",
    str_replace("%20", "_", strtolower($name))));

    if ($filename=""){
    die("Недопустимое имя файла. Только английские буквы, цифры и '_'!");
    }
    $filepath=$storage;
    if ($uniquename){
    $filepath=$filepath.time()."_";
    }
    $filepath=$filepath.$filename;
    if (is_uploaded_file($tmpfname) {
    if (!$overwrite){
    if (file_exists($filepath)){
    die("Файл с именем ".$filename." уже существует.
    Переименуйте файл или удалите его с сервера");
    }
    }
    move_uploaded_file($tmpfname, $filepath)
    or die("Ошибка закачки файла: ".$filename);
    @chmod($filepath, 0644);
    }
    }
    }
    doUpload($HTTP_POST_FILES, 'имя_поля');
    doUpload($HTTP_POST_FILES, 'имя_поля', true);
    doUpload($HTTP_POST_FILES, 'имя_поля', false, true);
    ?>

  5. Вверх #5
    Постоялец форума Аватар для BEATLES
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    43
    Сообщений
    2,691
    Репутация
    90
    avp, сорри, я админ, а не кодер )))
    http://www.apache.ru/docs/ мануалы по апачу ))
    Не ищите злого умысла в том, что вполне объяснимо глупостью.

  6. Вверх #6
    Anonymous
    гость
    Beatles, вот почему ты не кодер??!!))
    Блин, я вчера весь вечер убила за чтением этих мануалов. Везде одно и то же. и нет нужного. почитаю ещё твою ссылку.

  7. Вверх #7
    Постоялец форума Аватар для BEATLES
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    43
    Сообщений
    2,691
    Репутация
    90
    avp, я не кодер патамушта я админ и железкин ))))
    Не ищите злого умысла в том, что вполне объяснимо глупостью.

  8. Вверх #8
    Anonymous
    гость
    Beatles, что тоже очень радует))

  9. Вверх #9
    Постоялец форума Аватар для Lord of rings
    Пол
    Мужской
    Адрес
    Одесса, типа украина...
    Сообщений
    2,377
    Репутация
    172
    Мне конечно на трезвую голову облом разбирать приведенный скриптец, но стоит ли в файле конфигурации РНР разрешение аплоада???

    file_uploads = On
    ................................
    upload_max_filesize = 2M
    Per rectum ad astrum!

  10. Вверх #10
    Anonymous
    гость
    Lord of rings, я посмотрю. но застопорилось у меня все на том, что половина кода вылазит на страницу. вот с этого места : if($filesize>$maxsize)...

  11. Вверх #11
    avp, что-то я не узрел, где у тебя filesize определяется
    Не опохмелившись - не приступай к работе!

  12. Вверх #12
    Anonymous
    гость
    banzai, я тоже.. не узрела

  13. Вверх #13
    Постоялец форума Аватар для Lord of rings
    Пол
    Мужской
    Адрес
    Одесса, типа украина...
    Сообщений
    2,377
    Репутация
    172
    В одном моем проекте аплоад используется и помню - никаких заморочек не было. Будет время - может найду в скрипте требуемый фрагмент. Только это.... тут бы пиво не помешало (шутка)
    Per rectum ad astrum!

  14. Вверх #14
    Anonymous
    гость
    Lord of rings, ну пиво, так пиво))

  15. Вверх #15
    Посетитель Аватар для cryo
    Пол
    Мужской
    Сообщений
    270
    Репутация
    31
    Гугль на запрос "php upload form" выдал больше 3 млн ссылок
    Какую-то из них и я использовал для своих задач, правда, очень узкоспециальных, так что тебе не подойдет.
    А из общих решений вот одно из самых коротких:
    Код:
    <form enctype="multipart/form-data" action="upload.php" method="post">
        <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
        Choose a file to upload&#58; <input name="userfile" type="file" />
        <input type="submit" value="Upload File" />
    </form>
    Код:
    <?php
    $uploadDir = '/var/www/uploads/';
    $uploadFile = $uploadDir . $_FILES&#91;'userfile'&#93;&#91;'name'&#93;;
    print "<pre>";
    if &#40;move_uploaded_file&#40;$_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;, $uploadFile&#41;&#41;
    &#123;
        print "File is valid, and was successfully uploaded. ";
        print "Here's some more debugging info&#58;\n";
        print_r&#40;$_FILES&#41;;
    &#125;
    else
    &#123;
        print "Possible file upload attack!  Here's some debugging info&#58;\n";
        print_r&#40;$_FILES&#41;;
    &#125;
    print "</pre>";
    ?>
    Перед move_uploaded_file вставь свои проверки, но суть оставь.
    А то, что ты привела - какая-то каша из разных частей. Из формы передается MAX_FILE_SIZE, но в функции у тебя используется своя переменная
    Код:
    $maxsize=2000000;
    Вместо
    Код:
    $filename=$FVARS&#91;$field_name&#93;&#91;'size'&#93;;
    должно быть
    Код:
    $filesize=$FVARS&#91;$field_name&#93;&#91;'size'&#93;;
    Дальше, в фрагменте
    Код:
    $filename = ereg_replace&#40;"&#91;^a-z0-9._&#93;", "",
    str_replace&#40;" ", "_",
    str_replace&#40;"%20", "_", strtolower&#40;$name&#41;&#41;&#41;&#41;;
    не определена переменная $name, хотя бы замени ее на $filename.
    И т.д...
    Проще все-таки взять за основу рабочий скелет, что я привел, и аккуратно добавить туда нужные проверки.

  16. Вверх #16
    Anonymous
    гость
    cryo, спасибо!


Ответить в теме

Похожие темы

  1. Как вы у себя установили php на Apache?
    от NoXX в разделе Программное обеспечение
    Ответов: 18
    Последнее сообщение: 30.08.2006, 19:45
  2. Как вы у себя установили php на Apache?
    от NoXX в разделе Основной форум
    Ответов: 8
    Последнее сообщение: 23.08.2006, 08:11
  3. Запуск PHP на Apache 2 как CGI
    от NoXX в разделе Программирование
    Ответов: 0
    Последнее сообщение: 28.07.2006, 18:11
  4. Apache + Perl +MySQL под Linux 2.4 Alt Master или RedHat 7.3
    от XGX в разделе Программное обеспечение
    Ответов: 3
    Последнее сообщение: 04.07.2006, 10:06
  5. PHP+MySQL+Apache
    от slam в разделе Программирование
    Ответов: 11
    Последнее сообщение: 05.05.2006, 16:06

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения