In diesem Artikel werden hauptsächlich relevante Informationen zum Hochladen mehrerer Dateien in PHP vorgestellt. Interessierte Freunde können darauf verweisen.
Mehrere Dateien hochladen
1 Bevor Sie mehrere Dateiinformationen bearbeiten, müssen Sie die Dateiinformationen erstellen und die Funktion buildInfo verwenden, um das dreidimensionale Array in ein zweidimensionales Array umzuwandeln ist praktisch für Dateioperationen.
function buildInfo(){ $i = 0; foreach ($_FILES as $v){ //判断是否是单文件 if(is_string($v['name'])){ $files[$i] = $v; $i++; }else{ //多文件 foreach ($v['name'] as $key => $value){ $files[$i]['name'] = $value; $files[$i]['size'] = $v['size'][$key]; $files[$i]['tmp_name'] = $v['tmp_name'][$key]; $files[$i]['type'] = $v['type'][$key]; $files[$i]['error'] = $v['error'][$key]; $i++; } } } return $files; }
Die Beurteilung zwischen einzelner Datei und mehreren Dateien liegt in der Art des Dateiarrays, einzelne Datei (zweidimensionales Array), mehrere Dateien (dreidimensional). Array).
2. Datei-Upload-Funktion und Parameter
Code kopieren Der Code lautet wie folgt:
Funktion uploadFiles ($path = "uploads", $allowExt = array("jpg", "gif", "png", "wbmp"), $maxSize = 1048576, $imgFlag = true)
Pfad, speichern Sie das Verzeichnis. allowExt, Array zulässiger Erweiterungen. maxSizeDie maximale Upload-Dateigröße. imgFlag, Bilddatei-ID.
3. Bestimmen Sie, ob das Verzeichnis, in dem die Datei gespeichert ist, existiert
if(!file_exists($path)){ mkdir($path, 0777, true); }
4. Übergeben Sie die erstellten Dateiinformationen und speichern Sie sie in Dateien
$i = 0; $files = buildInfo();
5. Bestimmen Sie den Fehlertyp der Datei
foreach ($files as $file){ if($file['error'] == UPLOAD_ERR_OK){ }else{ switch ($file['error']){ case 1: $mes = "超过配置文件上传文件大小"; break; case 2: $mes = "超过了表单设置"; break; case 3: $mes = "文件部分被上传"; break; case 4: $mes = "没有文件上传"; break; case 6: $mes = "没找到临时目录"; break; case 7: $mes = "文件不可写"; break; case 8: $mes = "由于PHP的扩展程序中断了文件上传"; break; }
6 Dateitypen
if($file['error'] == UPLOAD_ERR_OK){ $ext = getExt($file['name']); if(!in_array($ext, $allowExt)){ exit("非法文件类型"); }
7. Ob es sich bei der Einschränkung um einen echten Bildtyp handelt
if($imgFlag){ if(!getimagesize($file['tmp_name'])){ exit("不是真的图片类型"); } }
8 . Bestimmen Sie die Dateigröße
if($file['size'] > $maxSize){ exit("文件过大"); }
Bestimmen Sie, ob die Datei per Post hochgeladen wird
if(!is_uploaded_file($file[‘tmp_name'])){ exit(“文件不是通过HTTP POST上传”); }
10. Benennen Sie die Datei um (einzigartig und nicht dupliziert) und speichern Sie sie im Zielverzeichnis.
$filename = getUniName().".".$ext; $destination = $path."/".$filename; if(move_uploaded_file($file['tmp_name'], $destination)){ $mes = "文件上传成功"; $file['name'] = $filename; unset($file['error'], $file['tmp_name']); $uploadedFiles[$i] = $file; $i++; }
Schreiben Sie den Namen im Dateiinformationsarray neu und löschen Sie ihn die Variablen file['error'] und file[ 'tmp_name']. Speichern Sie abschließend die erfolgreich hochgeladenen Dateien im Array uploadedFiles.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
Mehrere Dateien in PHP hochladenmax_file_uploads-Limit-Problem
Lösung für das Problem des Hochladens mehrerer Dateienmax_file_uploads-Beschränkung in PHP
PHPHochladen mehrerer Dateien, Beispielcode für mehrere Bilder
Das obige ist der detaillierte Inhalt vonSo laden Sie mehrere Dateien in PHP hoch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

TomakePhpapplicationsfaster, folgt der THESESTEPS: 1) UseOpCodeCaching LikeopcachetOstorePrecompiledScriptByteCode.2) MinimizedatabasequeriesByusedQueryCachingandefficiendexing.3) Hebel -FeaturesForbetTerCodeeffizienz.4) Implementierungspflichtiger Strategie

ToimProvePhpapplicationSpeed, folge theSeSteps: 1) enableOpCodeCachingWithAPCUToreducescriptexexexeTime.2) ImplementDatabaseQueryCachingusedpdotominimizedatabaseHits.3) UseHttp/2TomultiplexRequeTsReconneconneconneconneconneconneconnectionOverhead.4))

Die Abhängigkeitsinjektion (DI) verbessert die Testbarkeit von PHP -Code durch explizit transitive Abhängigkeiten signifikant. 1) DI -Entkopplungsklassen und spezifische Implementierungen machen Tests und Wartung flexibler. 2) Unter den drei Typen injiziert der Konstruktor explizite Expressionsabhängigkeiten, um den Zustand konsistent zu halten. 3) Verwenden Sie DI -Container, um komplexe Abhängigkeiten zu verwalten, um die Codequalität und die Entwicklungseffizienz zu verbessern.

DatabaseQueryoPtimizationInphpinvolvesseveralStrategieShancePerformance.1) selectonlynn -nötigesColumntededatatransfer.2) Verwenden Sie IndexingTospeedUpDatarErvieval.3) ImplementQueryCachingtoStoreresultsOffRequerien.4) Nützliche Stände

PhpisusedForSensionsemailsDuetoitsbuilt-inmail () functionandSupportelibrary-LikephpmailerandSwiftmailer.1) UsetheMail () Funktionsbasicemails, Butithaslimitations.2) Verwenden SiePr

PHP -Performance -Engpässe können in den folgenden Schritten gelöst werden: 1) Verwenden Sie XDEBUG oder Blackfire für die Leistungsanalyse, um das Problem herauszufinden. 2) Datenbankabfragen optimieren und Caches wie APCU verwenden; 3) Verwenden Sie effiziente Funktionen wie Array_filter, um Array -Operationen zu optimieren. 4) Opcache für Bytecode -Cache konfigurieren; 5) Optimieren Sie das Front-End, z. B. die Reduzierung von HTTP-Anfragen und das Optimieren von Bildern; 6) Überwachen und optimieren Sie die Leistung kontinuierlich. Durch diese Methoden kann die Leistung von PHP -Anwendungen erheblich verbessert werden.

Abhängigkeitsinjektion (DI) InphpisadesignPatternThatManageSandRecesClass -Dependenzen, EnhancingCodemodularity, Testbarkeit und Maschinenbarkeit.itallowsspassingdependencieStaDatabaseConnectionStoclassesasparameters, Erleichterung der Erleichterung von Erleichterung von Vermittlungen und Erleichterung von Erleichterung von und scalierbarkeit.

CachingimProvePhpperformanceByStoringResultsofComputationsorquerienforquickretrieval, ReducingServerloadAnenHancingResponSetimes.EffectivestrategieSinclude: 1) OpcodeCaching, die storesCompiledPhpScriptsinmemorytoskipcompilation;


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver Mac
Visuelle Webentwicklungstools

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!
