suchen
HeimBackend-EntwicklungPHP-TutorialVerwenden 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:

Verwenden Sie PHP, um allgemeine Funktionen zum Hochladen von Dateien auszuführen

Schauen Sie sich noch einmal den IE-Browser an:

Verwenden Sie PHP, um allgemeine Funktionen zum Hochladen von Dateien auszuführen

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:

Verwenden Sie PHP, um allgemeine Funktionen zum Hochladen von Dateien auszuführen

(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:

Verwenden Sie PHP, um allgemeine Funktionen zum Hochladen von Dateien auszuführen

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:

Verwenden Sie PHP, um allgemeine Funktionen zum Hochladen von Dateien auszuführenDann 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

Verwenden Sie PHP, um allgemeine Funktionen zum Hochladen von Dateien auszuführen

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!

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
Die Zukunft von PHP: Anpassungen und InnovationenDie Zukunft von PHP: Anpassungen und InnovationenApr 11, 2025 am 12:01 AM

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.

Wann würden Sie ein Merkmal gegenüber einer abstrakten Klasse oder Schnittstelle in PHP verwenden?Wann würden Sie ein Merkmal gegenüber einer abstrakten Klasse oder Schnittstelle in PHP verwenden?Apr 10, 2025 am 09:39 AM

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.

Was ist ein Abhängigkeitsinjektionsbehälter (DIC) und warum eine in PHP verwenden?Was ist ein Abhängigkeitsinjektionsbehälter (DIC) und warum eine in PHP verwenden?Apr 10, 2025 am 09:38 AM

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.

Erklären Sie die SPLFixedArray und seine Leistungseigenschaften im Vergleich zu regulären PHP -Arrays.Erklären Sie die SPLFixedArray und seine Leistungseigenschaften im Vergleich zu regulären PHP -Arrays.Apr 10, 2025 am 09:37 AM

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.

Wie kann PHP -Datei sicher sicher hochladen?Wie kann PHP -Datei sicher sicher hochladen?Apr 10, 2025 am 09:37 AM

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.

Was ist der Null -Koalescing -Operator (??) und der Null -Koalescing -Zuweisungsoperator (?? =)?Was ist der Null -Koalescing -Operator (??) und der Null -Koalescing -Zuweisungsoperator (?? =)?Apr 10, 2025 am 09:33 AM

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.

Was ist CSP -Header (Content Security Policy Ricture) und warum ist es wichtig?Was ist CSP -Header (Content Security Policy Ricture) und warum ist es wichtig?Apr 09, 2025 am 12:10 AM

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.

Was sind HTTP -Anforderungsmethoden (erhalten, posten, setzen, löschen usw.) und wann sollte jeder verwendet werden?Was sind HTTP -Anforderungsmethoden (erhalten, posten, setzen, löschen usw.) und wann sollte jeder verwendet werden?Apr 09, 2025 am 12:09 AM

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.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SublimeText3 Englische Version

SublimeText3 Englische Version

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

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

MinGW – Minimalistisches GNU für Windows

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.