
Ich arbeite für ein Büro im Grundschulbereich und richte einen lokalen Server mit Ubuntu Server 20.04 ein. Ich habe einige Webanwendungen in PHP für diesen Server geschrieben. Ich bin relativ neu bei Linux und habe zwei Fragen:
- Ich habe zwei Festplatten,
dev/sda
250 GB, auf denen Ubuntu Server 20.04 installiert ist, und eine zweite mitdev/sdb
500 GB. Die zweite war vorinstalliert und als NTFS formatiert. Ich möchte die zweite als Dateispeicher verwenden. Ist es ein Problem, dass es NTFS ist oder sollte ich es als EXT4 formatieren? - Das Stammverzeichnis meiner Webanwendungen befindet sich unter
var/www
, aber ich möchte die Dateien mit PHPmove_uploaded_file
in das Verzeichnis/uploads
auf der zweiten Festplatte hochladendev/sdb
. Wie kann ich den Pfad zum Skript angeben? Soll es ein absoluter oder relativer Pfad sein?
Antwort1
Wenn es keinen besonderen Grund gibt, das Laufwerk im NTFS-Format zu formatieren (und mir fällt ehrlich gesagt keiner ein), sollten Sie ein natives Linux-Dateisystem wie ext4 oder btrfs verwenden.
Wenn /dev/sdb nur für die hochgeladenen Dateien verwendet wird, können Sie /dev/sdb einfach in „/var/www/uploads“ mounten und dann den absoluten Pfad wie folgt erstellen:
$uploadDir = $_SERVER['DOCUMENT_ROOT'] . "/uploads/"
Dadurch wird weiterhin auf den richtigen Pfad verwiesen, auch wenn sich das Dokumentstammverzeichnis des Webservers ändert
Dadurch werden Ihre Dateien im Ordner „Uploads“ jedoch direkt über den Webserver zugänglich. Wenn Sie dies nicht möchten, sollten Sie einen Ordner außerhalb des Dokumentstamms Ihres Webservers verwenden.