Heim  >  Artikel  >  Backend-Entwicklung  >  So laden Sie Bilder in PHP hoch und implementieren bestimmte Benennungsregeln

So laden Sie Bilder in PHP hoch und implementieren bestimmte Benennungsregeln

PHPz
PHPzOriginal
2023-03-29 11:31:081018Durchsuche

PHP ist eine sehr beliebte Programmiersprache und wird zur Entwicklung vieler Webanwendungen verwendet. Das Hochladen von Bildern ist eine der häufigsten Funktionen in Webanwendungen. Normalerweise müssen wir die hochgeladenen Bilder umbenennen oder bestimmte Benennungsregeln verwenden.

In diesem Artikel erfahren Sie, wie Sie Bilder in PHP hochladen und bestimmte Benennungsregeln implementieren.

1. Grundlegendes Hochladen von Bildern

Zuerst müssen wir ein Formular erstellen, um von Benutzern hochgeladene Dateien zu akzeptieren. Das Formular sollte ein Dateieingabeelement, eine Schaltfläche zum Senden und ein Aktionsattribut enthalten, das auf das PHP-Skript verweist, das den Upload verarbeitet.

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

Der obige Code teilt dem Browser mit, dass die Daten beim Absenden des Formulars als „multipart/form-data“ codiert werden müssen. Diese Kodierungsmethode kann zum Hochladen von Dateien verwendet werden.

Unten finden Sie den PHP-Code, der den Upload abwickelt, in dem wir die Umbenennungsregel implementieren.

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}

// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}

// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

2. Spezifische Dateibenennungsregeln

Jetzt ändern wir den PHP-Code, um Umbenennungsregeln basierend auf dem aktuellen Datum und der aktuellen Uhrzeit zu implementieren.

<?php
$target_dir = "uploads/";
$timestamp = date("YmdHis");
$target_file = $target_dir . $timestamp . '.' . pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_EXTENSION);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
...

In diesem Beispiel speichern wir das aktuelle Datum und die aktuelle Uhrzeit in der Variablen $timestamp. Anschließend benennen wir die hochgeladenen Dateien in $timestamp.extension um, um sicherzustellen, dass jede hochgeladene Datei einen eindeutigen Namen hat.

3. Benennungsregeln, die den ursprünglichen Dateinamen beibehalten, aber ein Präfix hinzufügen

Jetzt ändern wir den PHP-Code, um die Umbenennungsregel zu implementieren, die den ursprünglichen Dateinamen beibehält, aber ein Präfix hinzufügt.

<?php
$target_dir = "uploads/";
$prefix = "myprefix_";
$target_file = $target_dir . $prefix . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
...

In diesem Beispiel fügen wir die vordefinierte Präfixvariable zum ursprünglichen Namen der hochgeladenen Datei hinzu. Dadurch werden Dateinamen mit dem Präfix „myprefix_“ erstellt.

Zusammenfassung:

Das Hochladen und Umbenennen von Dateien ist in PHP einfach. In diesem Artikel wird gezeigt, wie Sie hochgeladene Dateien basierend auf dem aktuellen Datum und der aktuellen Uhrzeit umbenennen oder ein Präfix hinzufügen. Sie können den Code ändern, um je nach Bedarf unterschiedliche Umbenennungsregeln zu implementieren. Nach dem Hochladen der Datei können Sie diese auch in einer Datenbank speichern oder eine Miniaturansicht erstellen. Ich hoffe, dieser Artikel hilft Ihnen!

Das obige ist der detaillierte Inhalt vonSo laden Sie Bilder in PHP hoch und implementieren bestimmte Benennungsregeln. 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