Zum Inhalt springen

PHP relative Pfade in absolute umwandeln


Empfohlene Beiträge

Hallo zusammen,

ich habe hier eine installations-routine in php die prüft ob Dateien/Verzeichnisse vorhanden sind.

Wenn dabei nun ein Fehler auftritt möchte ich ausgeben welche Datei/Verzeichnis fehlt/nicht beschreibbar ist.

Da dabei aber Pfad entstehen, die den ein oder anderne User verwirren

( z.b. ./www/app1/../../ab.php)

möchte ich diese durch Absolute ersetzen.

Nun wollte ich das mit der Funktion realpath() machen, dieser funktioniert aber nur, wenn die Datei/Ordner existiert.

Wie könnte ich das lösen?


$WRITEABLE = array("/master.inc.php",
"addons/import_export/files",
// snip
"addons/stats/logs",
"../../files");

foreach($WRITEABLE as $item)
{
if(is_dir($item))
{
// Verzeichnisse prüfen
if(!@is_writable($item."/."))
{
$MSG[err] .= $I18N->msg("setup_012",$item)."<br>";
}
}elseif(is_file($item))
{
// Dateien prüfen
if(!@is_writable($item))
{
$MSG[err] .= $I18N->msg("setup_014",$item)."<br>";
}
}else
{
// Verzeichnis/Datei fehlt
$MSG[err] .= $I18N->msg("setup_015",$item)."<br>";
}
}
[/PHP]

Danke im vorraus und Gruß,

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen


function absPath( $rel_path) {
$path = realpath( '.');
$stack = explode(DIRECTORY_SEPARATOR, $path);

foreach( explode( '/',$rel_path) as $dir) {
if ( $dir == '.') continue;

if ( $dir == '..') {
array_pop( $stack);
} else {
array_push( $stack, $dir);
}
}

return implode('/',$stack);
}
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...