PHP - Rechte eines Files

  • #1
C

Ciryx

Bekanntes Mitglied
Themenersteller
Dabei seit
07.01.2004
Beiträge
135
Reaktionspunkte
0
Ort
Zürich
Hallo zusammen...

Ich habe folgenden code, welcher mir momentan die Rechte eines Files (oktal) ausgibt!

Code:
<?php
$rights = fileperms($file);
echo sprintf(%o,$rights);	
?>

Meine Frage, ist es nun ob ich das irgendwie leserlich im Sinne von rwx rw- r-- darstellen kann.

Danke für Eure Hilfe!
 
  • #2
Hmm... Habe ein wenig gegoogelt und bin auf eine nette Lösung gestossen:

Code:
<?php

function FilePermsDecode( $perms )
{
	$oct = str_split( strrev( decoct( $perms ) ), 1 );	
	$masks = array(->---',->--x',->-w-',->rw-',->r--',->r-x',->rw-',->rwx' );
	return(
			sprintf(->%s %s %s',
						array_key_exists( $oct[ 2 ], $masks ) ? $masks[ $oct[ 2 ] ] :->###',
						array_key_exists( $oct[ 1 ], $masks ) ? $masks[ $oct[ 1 ] ] :->###',
						array_key_exists( $oct[ 0 ], $masks ) ? $masks[ $oct[ 0 ] ] :->###'
      		  )

      );
}

$perms = fileperms($file);
if( $perms !== false )
{
	printf('%s',FilePermsDecode($perms));
}
						
?>

Jedoch unerstüzt mein Webserver PHP5 nicht und somit auch die Funkion str_split nicht. Kann man das irgendwie anderst lösen?

Danke...
 
  • #3
Ok habe das ganze Problem behoben:

Hier die Lösung
Code:
<?php
   if (!function_exists('str_split'))

   {

    function str_split($string)

    {

    $arr=array();
 
    for ($x=0;$x<strlen($string);$x++)

    {
 
     $arr[]=substr($string,$x,1);

    }

    return $arr;

    }

   } ?>
 
  • #4
hiho,
wenn dir mal die Funktionen ausgehn, denk mal ein bisschen zurück an die gute alte Zeit, als man noch nicht auf so schnuckelige Funktionen zurückgreifen konnte und noch richtig prozessornah programmiert hat, z.b. mit Binäraddition und Shiften,
dann gehts nämlich so:

$rightsArray = array (---,--x,-w-,-wx,r--,r-x,rw-,rwx);
$outputRights = ;

for ( $lauf = 1; $lauf <=3; $lauf++)
{
$strRights = $rights & 7;
$outputRights = $rightsArray[decoct($strRights)] . // . $outputRights;
$rights = $rights >> 3;
}
echo $outputRights;

greetz
drulak
 
Thema:

PHP - Rechte eines Files

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben