Как загрузить HTML-форму с именем пользователя, паролем, несколькими загрузками файлов, а затем обработать ее с помощью PHP?

Как опубликовать имя пользователя, пароль и несколько двоичных файлов из одной HTML-формы и обработать ее с помощью php? Мне не разрешено использовать ajax.

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

Swati 26.09.2008 08:11

мне нужно сохранить файлы на сервере. имя пользователя и пароль проверяются по базе данных.

lajos 26.09.2008 08:11

Не думаю, что я понял вопрос ... что вы собираетесь обрабатывать? Какая обработка?

Pablo Marambio 27.09.2008 04:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
3
7 219
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы должны использовать суперглобальную функцию $_FILES и функцию move_uploaded_file(), чтобы увидеть, какие файлы были успешно загружены, и переместить их в их окончательное расположение, если они были загружены.

Суперглобальный сервер $_POST будет содержать отправленные имя пользователя и пароль.

Ответ принят как подходящий

сначала проверьте эти страницы на PHP.net

  1. информация о загрузке файла
  2. move_uploaded_file

Но для начала вот пара файлов-заглушек.

uploadForm.html

<html>
<body>
    <form action = "processStuff.php" enctype = "multipart/form-data" method = "POST">
        username: <input type = "text" name = "username" />
        password: <input type = "password" name = "password" />

        <p>
            <input type = "file" name = "uploadFile[]" /><br />
            <input type = "file" name = "uploadFile[]" /><br />
            <input type = "file" name = "uploadFile[]" /><br />
            <!-- Add as many of these as you want -->
        </p>

        <p>
            <input type = "submit" />
        </p>
    </form>
</body>
</html>

processStuff.php

<pre>
<?php

    echo '<h2>Username & password</h2>'
    echo "Username: {$_POST['username']}\nPassword: {$_POST['password']}";
    echo '<hr />';

    echo '<h2>Uploaded files</h2>'  
    foreach($_FILES['uploadFile']['tmp_name'] as $i => $tempUploadPath) {
        if (empty($tempUploadPath)) {
            // this <input type = "file" /> was "blank"... no file selected
        } else {
            // a file was uploaded
            echo '<strong>A file named "', $_FILES['uploadFile']['name'][$i], "\" was uploaded</strong>\n";
            echo "\ttemporarily stored at: ", $tempUploadPath, "\n";            
            echo "\tmime type: ", $_FILES['uploadFile']['type'][$i], "\n";
            echo "\tsize: ", $_FILES['uploadFile']['size'][$i], " bytes\n";         
            echo "\terror code", 
            ((empty($_FILES['uploadFile']['size'][$i]) 
                    ? '<em>no errror</em>' 
                    : $_FILES['uploadFile']['size'][$i])), 
            "\n\n";

    // do something useful with the uploaded file 
        // access it via $tempUploadPath and use move_uploaded_file() to move 
        //     it out of the temp path before you manipulate it in any way!!!!!
        // see http://us3.php.net/features.file-upload
        // and http://us3.php.net/manual/en/function.move-uploaded-file.php
        }       
    }

?>
</pre>

В HTML-файле показано, как установить enctype для <form>, а вторая форма покажет вам, как получить доступ к представленному имени пользователя и паролю и, наконец, как пройти через каждый загруженный файл.

Как уже отмечалось, вы ДОЛЖНЫ переместить файл (ы) как можно скорее. Они загружены во временное хранилище, и система удалит их, если вы с ними не разберетесь. Так что сначала переместите их куда-нибудь, а затем делайте с ними все, что вам нужно.

Надеюсь, это поможет

Арин

кажется, их двое; отсутствует в конце следующих строк: echo '<h2> Имя пользователя и пароль </h2>' echo '<h2> Загруженные файлы </h2>'

lajos 28.09.2008 04:51

Другие вопросы по теме