Aktueller Standort: Startseite> Neueste Artikel> So überprüfen Sie die Existenz eines Verzeichnisses mit der IS_DIR -Funktion beim Hochladen einer Datei

So überprüfen Sie die Existenz eines Verzeichnisses mit der IS_DIR -Funktion beim Hochladen einer Datei

gitbox 2025-05-28

1. Grundnutzung

Die Syntax von is_dir () ist sehr einfach:

 bool is_dir(string $filename)

Es akzeptiert einen String -Parameter $ Dateiname , der einen Booleschen Wert zurückgibt. Rückgabe true , wenn der Pfad existiert und ein Verzeichnis ist; ansonsten false zurückgeben.


2. Beispiele für das Hochladen und Verwenden in Kombination mit der Datei

Angenommen, wir möchten die hochgeladene Datei in den Uploads/ Dokumenten/ Verzeichnissen speichern. Wir müssen überprüfen, ob das Verzeichnis vor dem Hochladen der Datei existiert:

 <?php
$uploadDir = 'uploads/documents/';

if (!is_dir($uploadDir)) {
    // Wenn das Verzeichnis nicht existiert,Versuchen Sie einfach, es zu erstellen
    if (!mkdir($uploadDir, 0755, true)) {
        die('Upload -Verzeichnis kann nicht erstellt werden');
    }
}

// Prozessdatei hochladen
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $tmpName = $_FILES['file']['tmp_name'];
    $filename = basename($_FILES['file']['name']);
    $destination = $uploadDir . $filename;

    if (move_uploaded_file($tmpName, $destination)) {
        echo 'Datei hochladen erfolgreich:' . htmlspecialchars($destination);
    } else {
        echo 'Dateibewegung fehlgeschlagen';
    }
} else {
    echo 'Während des Uploads trat ein Fehler auf';
}
?>

Der Schlüssel zu diesem Code ist:

  1. Verwenden Sie is_dir (), um zu überprüfen, ob das Ziel -Upload -Verzeichnis vorhanden ist.

  2. Wenn es nicht vorhanden ist, verwenden Sie MkDir (), um das Verzeichnis rekursiv zu erstellen.

  3. Nachdem die Datei erfolgreich hochgeladen wurde, verwenden Sie Move_Uploaded_file () , um die temporäre Datei in das Zielverzeichnis zu verschieben.


3.. Pfadspezifikation Vorschläge in tatsächlichen Projekten

In tatsächlichen Projekten können wir auch __Dir__ oder $ _server ['document_root'] kombinieren, um einen robusteren Weg zu erstellen, um Probleme zu vermeiden, die durch relative Pfade verursacht werden:

 $uploadDir = __DIR__ . '/uploads/documents/';

oder:

 $uploadDir = $_SERVER['DOCUMENT_ROOT'] . '/uploads/documents/';

4. Kombination mit URL (Front-End-Display)

Nachdem der Upload erfolgreich ist, müssen wir möglicherweise die URL der Datei an den Frontend zurückgeben. Unter der Annahme, dass der Domänenname unseres Servers Gitbox.net ist, können Sie die Dateiadresse wie folgt spleißen:

 $fileUrl = 'https://gitbox.net/uploads/documents/' . urlencode($filename);
echo 'Datei hochgeladen,Zugangsadresse:<a href="' . $fileUrl . '">' . $fileUrl . '</a>';

Auf diese Weise können Benutzer über die URL direkt auf die hochgeladene Datei zugreifen.