Heim  >  Artikel  >  Backend-Entwicklung  >  Funktion zum Hochladen von PHP-Dateien – Hochladen mehrerer Dateien

Funktion zum Hochladen von PHP-Dateien – Hochladen mehrerer Dateien

墨辰丷
墨辰丷Original
2018-05-15 11:52:582219Durchsuche

In diesem Abschnitt wird hauptsächlich die Multidatei-Upload-Funktion von PHP-Upload-Dateien vorgestellt. Solange das Datei-Upload-Tag im Formular in Form eines Arrays benannt ist, können mehrere Dateien gleichzeitig hochgeladen werden.

Sehen wir uns ein Beispiel an:
------------------------------------------------ - ---------------------------------

<form enctype="multipart/form-data" action="<?=$_SERVER[&#39;PHP_SELF&#39;]?>" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="104857600" />
    <table>
        <tr>
            <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td>
        </tr>
        <tr>
            <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td>
        </tr>
        <tr>
            <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td>
        </tr>
        <tr>
            <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td>
        </tr>
        <tr>
            <td><input type="submit" name="submit" value="上传"/></td>
        </tr>
    </table>
</form>

<?php
    function upload($file_error, $file_tmp_name, $file_name){
        $info = "";

        if($file_name == "")
            return $info;

        switch($file_error){
            case UPLOAD_ERR_INI_SIZE:
                $info = $file_name. ": 文件大小超过了服务器的限制";
                break;
            case UPLOAD_ERR_FORM_SIZE:
                $info = $file_name. ": 文件大小超过了浏览器的限制";
                break;
            case UPLOAD_ERR_PARTIAL:
                $info = $file_name. ": 只上传了部分文件";
                break;
            case UPLOAD_ERR_NO_FILE:
                $info = $file_name. ": 没有文件被上传";
                break;
            case UPLOAD_ERR_NO_TMP_DIR:
                $info = $file_name. ": 找不到临时文件夹";
                break;
            case UPLOAD_ERR_CANT_WRITE:
                $info = $file_name. ": 文件写入失败";
                break;
            case UPLOAD_ERR_OK:
                $upload_dir = &#39;./&#39;.iconv("UTF-8","gb2312",$file_name);
                if(file_exists($upload_dir)){
                    $info = $file_name.": 同名文件已经存在";
                }else{
                    if(move_uploaded_file($file_tmp_name,$upload_dir)){
                        $info = $file_name.": 文件上传成功";
                    }else{
                        $info = $file_name.": 文件上传失败";
                    }
                }
                break;
        }
        return $info;
    }

    if(isset($_POST[&#39;submit&#39;])){
        $info = &#39;&#39;;
        $count = count($_FILES[&#39;upload_file&#39;][&#39;name&#39;]);
        for($i=0; $i<$count; ++$i){
            if($_FILES[&#39;upload_file&#39;][&#39;name&#39;][$i] == "")
                continue;
            $info = upload(
                $_FILES[&#39;upload_file&#39;][&#39;error&#39;][$i],
                $_FILES[&#39;upload_file&#39;][&#39;tmp_name&#39;][$i],
                $_FILES[&#39;upload_file&#39;][&#39;name&#39;][$i]
            );
        }
        echo $info;
    }

?>

----- -- ------------------------------------------------ -- --------------------------------
Die Ergebnisse der Codeausführung lauten wie folgt:


Hinweis:

1. In f399216e5fd9641a5741aecffaed438c muss name="upload_file[]" benannt werden in Form eines Arrays. Andernfalls tritt ein Fehler auf: „Offset der nicht initialisierten Zeichenfolge: 0“. Dieser Satz bedeutet, dass Ihr Array-Schlüsselwert außerhalb der Grenzen liegt

2. 'name'][$i ], upload_file ist der Name der Upload-Dateimarkierung im Formular. Beim Hochladen mehrerer Dateien wird der dreidimensionale Index des Arrays $_FILES automatisch fortlaufend nummeriert, beginnend mit 0.

Verwandte Empfehlungen:

PHP-Datei-Upload-Funktion zur Implementierung der Codefreigabe

Konfigurieren Sie php.ini zur Implementierung des PHP-Datei-Uploads Funktion

So konfigurieren Sie php.ini, um die Funktion zum Hochladen von PHP-Dateien zu implementieren

Das obige ist der detaillierte Inhalt vonFunktion zum Hochladen von PHP-Dateien – Hochladen mehrerer Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Ideen, wie PHP HTML generiertNächster Artikel:Ideen, wie PHP HTML generiert