Vollständigen Pfad

Spranta

Erfahrenes Mitglied
Hallo

1. wie bekomme ich mit PHP den vollständigen Pfad zu einer Datei raus also z.b. auf Windows Rechnern
C:/xampp/htdocs/Test/
ich möchte nicht den Dateinamen am ende haben sondern nur den Pfad. Ich hab da einfach nichts gefunden bei google

2. Ich habe einproblem mit
PHP:
$uploaddir = $abpatch."/files/".$folder."/";
dieser Pfad wird genutzt um eine Datei hochzuladen
PHP:
move_uploaded_file($tempname, $uploaddir . $name);

Nur leider kommt dan ein Fehler das er die Datei nicht verschieben kann

Würde mich über Antworten freuen.
Gruß
Spranta
 
Zuletzt bearbeitet:
Hi Spranta,

die Frage erscheint ein wenig unverständlich...
Bitte erkläre doch einmal etwas genauer, was Du machen willst...

Einen schönen Tag noch wünscht
coral
 
Den kompletten Pfad, also ab den Speicherungsort auf der Festplatte bekommst du so
PHP:
echo $_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']);

Brauchst du nur den Pfad bis zum Document Root, nimmst du die ersten Variable, bzw Arraykey. (vor dem Punkt) Brauchst du nur den Pfad ab dem Document Root, nimmst du die zweite. (nach dem Punkt)

EDIT: Und ruckzuck waren wieder zwei schneller.

EDIT2:
So ist es kürzer und erfüllt den gleichen Sinn.
PHP:
echo dirname(__FILE__);
 
Zuletzt bearbeitet:
Hallo!

Das Problem an $_SERVER['DOCUMENT_ROOT'] ist, dass es u.U. nicht das gewünschte Ergebnis liefert..... z.b. wenn es sich nur um ein Userdir handelt.
Beispiel:
DOCUMENT_ROOT ist in c:\apache\htdocs, das Userdir ist z.b. in c:\users\BENUTZERNAME\public_html.
Wenn der User nun im zuletzt genanntem Verzeichnis nach DOCUMENT_ROOT fragt, bekommt er nicht wie erhoft den Pfad zu seinem Verzeichnis (public_html), sondern den zu c:\apache\htdocs.
Würde also ein Chaos ergeben. ;)

dirname(__FILE__) liefert z.b. c:\apache\htdocs zurück.
dirname($_SERVER['SCRIPT_FILENAME']) hingegen, liefert c:/apache/htdocs zurück.
Da der Backslash "\" ja auch als Escapezeichen genutzt wird, würde ich also eher auf das letzte Beispiel zurückgreifen.

Gruss Dr Dau

[edit]
Zu Punkt 2: wie lautet denn die Fehlermeldung genau?
[/edit]
 
Zuletzt bearbeitet:
Zurück