Dateien mit PHP hochladen
Hier ist ein einfaches PHP-Script, um eine Datei hochzuladen. Dieses Beispiel ermöglicht das Hochladen von Bildern und beschränkt die Dateigröße auf 2 MB (2.000.000 Bytes). Der Code besteht aus zwei Teilen: dem PHP-Script, das den Datei-Upload verarbeitet, und dem HTML-Formular, mit dem Benutzer die Datei auswählen und hochladen können.
PHP-Code:
<?php
// Zielordner für hochgeladene Dateien
$target_dir = "uploads/";
// Überprüfen, ob das Formular abgeschickt wurde
if (isset($_POST['submit'])) {
// Dateiname erstellen
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
// Flag, um festzustellen, ob der Upload fortgesetzt werden soll
$uploadOk = 1;
// Dateigröße auf 2 MB (2.000.000 Bytes) beschränken
if ($_FILES["fileToUpload"]["size"] > 2000000) {
echo "Die Datei ist zu groß.";
$uploadOk = 0;
}
// Nur bestimmte Dateitypen zulassen (in diesem Fall JPG, JPEG, PNG und GIF)
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
$allowed_filetypes = array("jpg", "jpeg", "png", "gif");
if (!in_array($imageFileType, $allowed_filetypes)) {
echo "Nur JPG, JPEG, PNG und GIF Dateien sind erlaubt.";
$uploadOk = 0;
}
// Überprüfen, ob $uploadOk auf 0 gesetzt wurde (aufgrund eines Fehlers)
if ($uploadOk == 0) {
echo "Die Datei wurde nicht hochgeladen.";
} else {
// Wenn alles in Ordnung ist, versuchen Sie, die Datei hochzuladen
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "Die Datei " . htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " wurde erfolgreich hochgeladen.";
} else {
echo "Beim Hochladen der Datei ist ein Fehler aufgetreten.";
}
}
}
?>
HTML-Code:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Datei-Upload</title>
</head>
<body>
<h1>Datei hochladen</h1>
<form action="" method="post" enctype="multipart/form-data">
<label for="fileToUpload">Wählen Sie eine Datei zum Hochladen aus:</label>
<input type="file" name="fileToUpload" id="fileToUpload">
<br><br>
<input type="submit" value="Datei hochladen" name="submit">
</form>
</body>
</html>