


Verwenden Sie PHP, um allgemeine Funktionen zum Hochladen von Dateien auszuführen
Das Hochladen von Dateien ist mittlerweile weit verbreitet. Verschiedene Browser haben unterschiedliche „Datei-Upload“-Effekte.
Schauen wir uns zunächst die Wirkung des Firefox-Browsers an:
Schauen Sie sich noch einmal den IE-Browser an:
Es gibt viele andere Browser, aber anstatt die Auswirkungen einzeln zu überprüfen, wie Ist dieser Upload gelungen?
1. Datei-Upload-Funktion
(1) Die erste besteht darin, diese Upload-Seite zu haben
Die erste besteht darin, die Formularelemente zu schreiben (einschließlich der Verarbeitungsseite „Über die Der Upload wurde verarbeitet und einige der Regeln können geschrieben werden.“ Es gibt auch die Übertragungsmethode und dann ein wichtiges Attribut. Da es sich um einen Datei-Upload handelt, muss er dieses Attribut haben: enctype="multipart/form- Daten“) und dann ist da noch die Schaltfläche. Nachdem das Formular festgelegt wurde, ist es der Inhalt darin. Der natürliche Schaltflächentyp für das Hochladen von Dateien ist „Datei“; dann gibt es die Schaltfläche „Hochladen“, die eine Übermittlung erfordert, also die Der Schaltflächentyp muss „Senden“ sein. Der Code lautet wie folgt:
<form action="wenjiansccl.php" method="post" enctype="multipart/form-data"> <!--处理页面起个名字,做文件上传是这个属性:enctype="multipart/form-data"--> <input type="file" name="file"/> //浏览文件的按钮 <input type="submit" value="上传" /> //提交的上传按钮 </form>
Sehen wir uns zunächst den Effekt an:
(2) Die zweite Seite ist die wichtige Verarbeitungsseite für das Hochladen von Dateien.
Wir können den Wert zuerst hochladen und ausgeben, um zu sehen, was nach dem Hochladen der Datei angezeigt wird Post oder Get Here können nicht verwendet werden, Sie müssen die Wertmethode $_FILES[""] verwenden.
var_dump($_FILES["file"]); //输出传过来的值
Das Ausgabeergebnis ist wie in der Abbildung dargestellt:
Hinweis: Da die Informationen in diesem Bild unten verwendet werden, werde ich diesem zuerst einen Namen (Array) geben, damit es bei der Verwendung unten nicht unklar wird Es ist nicht schwer, mehrere zweidimensionale Arrays zu erkennen: Darunter sind der Name, der Typ, der Speicherort, die Fehlermeldung und die Dateigröße der Datei, sodass die Datei tatsächlich vorübergehend auf dem Server gespeichert wird
Beim Hochladen von Dateien sind 4 Dinge zu beachten:
1. Kontrollieren Sie den Typ der hochgeladenen Datei
2. Kontrollieren Sie die Upload-Dateigröße
. Verhindern Sie die Duplizierung von Dateinamen
3.1 Den gespeicherten Dateinamen ändern
3.11 Benutzername + Zeitstempel + Zufallszahl + Dateiname
3.12 Seriennummer
3.2 Ordner verwenden
3.21public/lch/2017-2-12/1.jpg
4. Speichern Sie die Datei
Nachdem Sie diese vier Vorsichtsmaßnahmen (die auch den Schritten entsprechen) kennen, beginnen Sie einfach mit dem Schreiben der Verarbeitung Seite Schritt für Schritt
(1) Bei der Ausgabe können Sie sehen, ob eines der Elemente „Fehler“ ist. Nun können Sie zunächst beurteilen, ob bei der Übertragung ein Fehler vorliegt
if($_FILES["file"]["error"]) //将文件传值到处理页面,找到出错的索引,也就是(array)图中的错误项error { echo $_FILES["file"]["error"]; }
(2) Das Obige dient dazu, die Fehlermeldung auszugeben, wenn ein Fehler vorliegt. Wenn kein Fehler vorliegt, fahren Sie mit dem folgenden Inhalt fort: Befolgen Sie die Vorsichtsmaßnahmen. Beginnen wir mit dem Schreiben
Das erste ist: Kontrollieren Sie beim Hochladen den Typ und die Größe der Datei (ermitteln Sie auch Typ und Größe im (Array-)Diagramm und weisen Sie ihnen dann den gewünschten Typwert zu). Wir begrenzen Es gibt zwei Arten von JPEG und PNG: aber es gibt auch mehrere Typen. Schreiben Sie sie einfach mit „oder“. Hier verwenden wir auch eine if-Anweisung zur Beurteilung (wenn der Dateityp JPEG oder PNG ist und die Dateigröße weniger als 1024000 beträgt, kann er hochgeladen werden, andernfalls schlägt der Upload fehl)
if($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png" && $_FILES["file"]["size"]<1024000) {<br> //注意事项3和4的内容<br>} else { echo "文件类型不正确!"; }
(3) Beginnen Sie mit dem Schreiben der Datei beim Kommentar im Code (Inhalt der Anmerkungen 3 und 4), um Duplikate und Speichern zu vermeiden
Zuerst: Suchen Sie den Speicherort der Datei (wo Sie sie speichern möchten). ) und fügen Sie es dann zusammen. So ändern Sie den Dateinamen (mit der Zeitstempelmethode)
$filesname = "./files/".date("YmdHis").$_FILES["file"]["name"]; //$_FILES["file"]["name"]这也同样的也是(array)图的名称name
Zweitens: Stellen Sie fest, ob die Datei vorhanden ist (fragen Sie, ob sie vorhanden ist, und speichern Sie sie im Ordner, wenn es existiert nicht)
if(file_exists($filesname)) //file_exists()方法:判断文件是否存在,里面的值就是定义的保存位置 { echo "文件已经存在"; //存在给出提示 } else { //不存在就,保存文件(move_uploaded_file()保存) move_uploaded_file($_FILES["file"]["tmp_name"],$filesname); //里面的值要有当前的保存位置,将要保存到哪的位置 } <span style="font-family: 宋体; font-size: 15px"><span style="font-size: 18px">注意:</span><br>1.可能上传的时候是UTF-8的编码格式,Windows是用的国标的编码格式,上传上汉子可能成为乱码了,可以在文件保存位置下面加上“转换编码格式”<br>使用的是:</span><span style="font-size: 15px">iconv()方法:</span><span style="font-size: 15px">里面有3个值,一是现在使用的编码格式,二是想要转换的编码格式,三是想要转换的字符串</span> $filename = iconv("UTF-8","gb2312",$filesname); //这个iconv()里面有3个值,一是现在使用的编码格式,二是想要转换的编码格式,三是想要转化的字符串 <span style="font-family: 宋体; font-size: 15px">2.如果上面的文件的上传格式是篡改的格式,也用move_uploaded_file()方法</span>
Damit ist der Datei-Upload abgeschlossen. Sie können es versuchen.
Zweitens: Dateivorschau hochladen
Wenn Sie ein Bild hochladen, überprüfen Sie zunächst den Effekt, bevor Sie es hochladen. Der nächste Schritt ist die Bildvorschaufunktion
(1) Ja Zuerst Es gibt eine Dateischaltfläche zum Auswählen der Datei
<input id="uploadImage" type="file" name="photoimage" class="fimg1" onchange="PreviewImage();" /> //对这个按钮加一个事件
(2) Ein Div zum Anzeigen dieses Bildes
<div id="uploadPreview"></div>
Fügen Sie einige hinzu Stile zu diesem Div
#uploadPreview { width: 168px; height: 168px; background-position: center center; background-size: cover; border: 4px solid #fff; -webkit-box-shadow: 0 0 0px 0px rgba(0, 0, 0, 0); display: inline-block;<br>}
Sehen Sie sich den Effekt an:
Dann schreiben Sie das Ereignis
$("#uploadImage").on("change", function(){ // 得到一个参考文件列表 var files = !!this.files ? this.files : []; // 如果没有选择任何文件,或者没有文件读到就返回 if (!files.length || !window.FileReader) return; // 只有进行选择的文件是一个形象 if (/^image/.test( files[0].type)){ // 创建一个新的FileReader的实例 var reader = new FileReader(); // 读取本地文件作为一个DataURL reader.readAsDataURL(files[0]); // 当加载时,图像数据设置为背景的div reader.onloadend = function(){ $("#uploadPreview").css("background-image", "url("+this.result+")"); } } });
Dies ist nur eine einfache Upload-Vorschau. Die Verarbeitungsseite zum Hochladen der Datei wurde noch nicht geschrieben. Der vollständige Upload-Bildcode wird an einem anderen Tag hinzugefügt
Überprüfen Sie die Wirkung des ausgewählten Bildes
Auf diese Weise sind der Datei-Upload und die Bildvorschau beendet. Durch die Kombination dieser beiden Funktionen werde ich später weiterhin die vollständige Version hinzufügen Weitere Artikel zur Verwendung von PHP zur Vervollständigung gängiger Datei-Upload-Funktionen finden Sie auf der chinesischen PHP-Website!

Die Zukunft von PHP wird erreicht, indem sich an neue Technologietrends angepasst und innovative Funktionen eingeführt werden: 1) Anpassung an Cloud Computing, Containerisierung und Microservice -Architekturen, Unterstützung von Docker und Kubernetes; 2) Einführung von JIT -Compilern und Aufzählungsarten zur Verbesserung der Leistung und der Datenverarbeitungseffizienz; 3) die Leistung kontinuierlich optimieren und Best Practices fördern.

In PHP eignet sich das Merkmal für Situationen, in denen die Wiederverwendung von Methoden erforderlich ist, aber nicht zur Erbschaft geeignet ist. 1) Das Merkmal ermöglicht Multiplexing -Methoden in Klassen, um die Komplexität mehrerer Vererbungskomplexität zu vermeiden. 2) Bei Verwendung von Merkmalen müssen Sie auf Methodenkonflikte achten, die durch die Alternative und als Schlüsselwörter gelöst werden können. 3) Überbeanspruchte des Merkmals sollte vermieden werden und seine einzelne Verantwortung sollte beibehalten werden, um die Leistung zu optimieren und die Code -Wartbarkeit zu verbessern.

Abhängigkeitsinjektionsbehälter (DIC) ist ein Tool, das Objektabhängigkeiten für die Verwendung in PHP -Projekten verwaltet und bereitstellt. Die Hauptvorteile von DIC sind: 1. Entkopplung, Machen von Komponenten unabhängig, und der Code ist leicht zu warten und zu testen; 2. Flexibilität, leicht zu ersetzen oder zu ändern; 3.. Testbarkeit, bequem für die Injektion von Scheinobjekten für Unit -Tests.

SplfixedArray ist ein Array mit fester Größe in PHP, das für Szenarien geeignet ist, in denen hohe Leistung und geringe Speicherverbrauch erforderlich sind. 1) Es muss die Größe beim Erstellen angeben, um den durch dynamischen Einstellungen verursachten Overhead zu vermeiden. 2) Basierend auf C -Spracharray betreibt direkt Speicher und schnelle Zugriffsgeschwindigkeit. 3) Geeignet für eine großräumige Datenverarbeitung und speicherempfindliche Umgebungen, muss jedoch mit Vorsicht verwendet werden, da seine Größe festgelegt ist.

PHP überlädt Datei -Hochladen über die Variable $ \ _ Dateien. Zu den Methoden zur Sicherstellung gehören: 1. Upload -Fehler, 2. Dateityp und -größe überprüfen, 3.. Dateiüberschreibung verhindern, 4. Verschieben von Dateien auf einen dauerhaften Speicherort.

In JavaScript können Sie NullCoalescingoperator (??) und NullCoalescingAssignmentoperator (?? =) verwenden. 1.??? 2.??= Weisen Sie den Wert des rechten Operanden die Variable zu, jedoch nur, wenn die Variable null oder undefiniert ist. Diese Operatoren vereinfachen die Codelogik und verbessern die Lesbarkeit und Leistung.

CSP ist wichtig, da es XSS -Angriffe verhindern und das Laden der Ressourcen begrenzen und die Sicherheit der Website verbessern kann. 1.CSP ist Teil von HTTP -Reaktionsüberschriften und begrenzt böswilliges Verhalten durch strenge Richtlinien. 2. Die grundlegende Verwendung besteht darin, nur Laderessourcen aus demselben Ursprung zuzulassen. 3. Erweiterte Verwendung kann mehr feinkörnige Strategien festlegen, z. V.

Zu den HTTP -Anforderungsmethoden gehören GET, Post, Put und Löschen, mit denen Ressourcen erhalten, übermittelt, aktualisiert und gelöscht werden. 1. Die GET -Methode wird verwendet, um Ressourcen zu erhalten, und eignet sich für Lesevorgänge. 2. Die Post -Methode wird verwendet, um Daten zu übermitteln und häufig neue Ressourcen zu erstellen. 3. Die Put -Methode wird zum Aktualisieren von Ressourcen verwendet und eignet sich für vollständige Updates. V.


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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

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

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.