PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<fileprobasename>
view the version of this page
Last updated: Sat, 19 Apr 2003

XXX. Funktionen des Dateisystems

Einf�hrung

Anforderungen

Diese Erweiterung ben�tigt zur Erstellung keine externen Bibliotheken.

Installation

F�r diese Funktionen ist keine Installation erforderlich, diese geh�ren zum Grundbestand von PHP.

Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird von Einstellungen in der php.ini bestimmt.

Tabelle 1. Dateisystem und Streams Konfigurationsoptionen

NameStandardwert�nderbar
allow_url_fopen"1"PHP_INI_ALL
user_agentNULLPHP_INI_ALL
default_socket_timeout"60"PHP_INI_ALL
fromNULL??
auto_detect_line_endings"Off"PHP_INI_ALL

Hier folgt eine kurze Beschreibung der Konfigurationseinstellungen.

allow_url_fopen boolean

Diese Option aktiviert den URL-aware fopen wrappern, welche den Zugriff auf URL Objekt �hnliche Dateien erm�glicht. Standardm��ig stehen Wrapper f�r den Zugriff auf entfernte Dateien �ber das FTP oder HTTP Protokoll zur Verf�gung, manche Erweiterungen wie zlib k�nnen �ber weitere Wrapper verf�gen.

Anmerkung: Die Option wurde unmittelbar nach der Freigabe von PHP 4.0.3 eingef�hrt. In den Versionen bis zu inklusive 4.0.3 k�nnen Sie diese Eigenschaft nur w�hrend des Kompilierens mittels der Konfigurationsoption --disable-url-fopen-wrapper deaktivieren.

Warnung

In den Windowsversionen vor PHP 4.3 unterst�tzen die folgenden Funktionen den Zugriff auf entfernte Dateien nicht: include(), include_once(), require(), require_once(), sowie die imagecreatefromXXX Funktionen in der Verweis XLI, Grafik-Funktionen Erweiterung.

user_agent string

Definiert den User Agent, den PHP senden soll.

default_socket_timeout integer

Standardtimeout (in Sekunden) f�r Socket basierte Streams.

Anmerkung: Diese Konfigurationsoption wurde in PHP 4.3 eingef�hrt.

from="[email protected]" string

Definiert das anonyme FTP Passwort (Ihre E-Mail Adresse).

auto_detect_line_endings boolean

Wenn aktiviert, pr�ft PHP die mittels fgets() und file() gelesenen Daten auf die Verwendung der Konventionen f�r Zeilenenden von Unix, MS-Dos oder Macintosh.

Dies erm�glich PHP die Kompatibilit�t mit Macintosh Systemen, ist jedoch standardm��ig deaktiviert, da die Ermittlung der EOL Konventionen der ersten Zeile einen kleinen Performanceverlust bedeutet. Weiters verwenden einige Leute Carriage-Returns als Trennzeichen f�r Elemente, was auf Unix Systemen ein nicht r�ckw�rtskompatibles Verhalten bedeuten w�rde.

Anmerkung: Diese Konfigurationsoption wurde in PHP 4.3 eingef�hrt.

Resource Typen

Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Siehe auch

Verwandte Funktionen finden Sie in den Abschnitten Verzeichnis-Funktionen und Funktionen zur Programmausf�hrung.

Eine Liste mit Erkl�rungen der verschiedenen URL Wrapper, welche Sie auch als entfernte Dateien nutzen k�nnen, finden Sie unter Anhang I.

Inhaltsverzeichnis
basename --  Extrahiert den Namen einer Datei aus einer vollst�ndigen Pfadangabe
chgrp -- Wechselt die Gruppenzugeh�rigkeit einer Datei
chmod -- �ndert die Zugriffsrechte einer Datei
chown -- �ndert den Eigent�mer einer Datei
clearstatcache -- L�scht den Status Cache
copy -- Kopiert eine Datei
delete -- Siehe unlink() oder unset()
dirname --  Extrahiert den Verzeichnis-Namen aus einer vollst�ndigen Pfadangabe
disk_free_space --  Liefert den freien Speicherplatz in einem Verzeichnis
disk_total_space -- Liefert die Gesamtgr��e eines Verzeichnisses
diskfreespace -- Ist ein Alias f�r disk_free_space()
fclose -- Schlie�t einen offenen Dateizeiger
feof -- Pr�ft, ob der Dateizeiger am Ende der Datei steht
fflush -- Schreibt den Ausgabepuffer in eine Datei
fgetc --  Liest das Zeichen, auf welches der Dateizeiger zeigt
fgetcsv --  Liest eine Zeile von der Position des Dateizeigers und pr�ft diese auf Komma-Separierte-Werte (CSV)
fgets --  Liest eine Zeile von der Position des Dateizeigers
fgetss --  Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
file_exists -- �berpr�ft, ob eine Datei existiert
file_get_contents -- Liest die gesamte Datei in einen String
file_put_contents -- Write a string to a file
file --  Liest eine Datei komplett in ein Array
fileatime --  Liefert Datum und Uhrzeit des letzten Zugriffs auf eine Datei
filectime --  Liefert Datum und Uhrzeit der letzten �nderung des Dateizeigers Inode
filegroup --  Liefert die Gruppenzugeh�rigkeit einer Datei
fileinode -- Liefert die Inode-Nummer einer Datei
filemtime --  Liefert Datum und Uhrzeit der letzten Datei�nderung
fileowner -- Liefert den Dateieigent�mer
fileperms -- Liefert die Zugriffsrechte einer Datei
filesize -- Liefert die Gr��e einer Datei
filetype -- Liefert den Typ einer Datei
flock -- Portables Datei-Verriegelungs-Verfahren
fnmatch -- Match filename against a pattern
fopen -- �ffnet eine Datei oder URL
fpassthru --  Gibt alle verbleibenden Daten eines Dateizeigers direkt aus.
fputs -- Schreibt Daten an die Position des Dateizeigers
fread -- Liest Bin�rdaten aus einer Datei
fscanf -- Interpretiert den Input einer Datei entsprechend einem angegebenen Format
fseek -- Positioniert den Dateizeiger
fstat --  Liefert Informationen �ber eine Datei mit offenem Dateizeiger
ftell --  Ermittelt die aktuelle Position des Dateizeigers
ftruncate -- K�rzt eine Datei auf die angegebene L�nge
fwrite -- Schreibt Bin�rdaten in eine Datei
glob -- Find pathnames matching a pattern
is_dir --  Pr�ft, ob der gegebene Dateiname ein Verzeichnis ist
is_executable --  Pr�ft, ob eine Datei ausf�hrbar ist
is_file -- Pr�ft, ob der Dateiname eine regul�re Datei ist
is_link -- Pr�ft, ob der Dateiname ein symbolischer Link ist
is_readable -- Pr�ft, ob eine Datei lesbar ist
is_uploaded_file -- Pr�ft, ob die Datei mittels HTTP POST upgeloaded wurde
is_writable --  Pr�ft, ob in eine Datei geschrieben werden kann
is_writeable -- Pr�ft, ob in eine Datei geschrieben werden kann
link -- Erzeugt einen absoluten Link
linkinfo -- Liefert Informationen �ber einen Link
lstat --  Liefert Informationen �ber eine Datei oder einen symbolischen Link.
mkdir -- Erstellt ein Verzeichnis
move_uploaded_file -- Verschiebt eine upgeloadete Datei an einen neuen Ort
parse_ini_file -- Analysiert eine Konfigurationsdatei
pathinfo -- Liefert Informationen �ber den Dateipfad
pclose -- Schlie�t einen Prozess-Dateizeiger
popen -- �ffnet einen Prozesszeiger
readfile -- Gibt eine Datei aus
readlink --  Liefert das Ziel eines symbolischen Links
realpath -- Erzeugt einen kanonisch absoluten Pfadnamen
rename -- Benennt eine Datei um
rewind -- Setzt den Dateizeiger auf das erste Byte der Datei
rmdir -- L�scht ein Verzeichnis
set_file_buffer -- Alias f�r stream_set_write_buffer()
stat --  Liefert diverse Informationen �ber eine Datei
symlink -- Erzeugt einen symbolischen Link
tempnam -- Erzeugt eine Datei mit eindeutigem Dateinamen
tmpfile -- Legt eine tempor�re Datei an
touch --  Setzt die Zugriffs- und Modifizierungszeit einer Datei
umask --  �ndert die aktuelle umask (Zugriffsrechte)
unlink -- L�scht eine Datei


User Contributed Notes
Funktionen des Dateisystems
add a note
meheler at canada dot com
07-Mar-2002 06:55

Here is a useful function that checks for the existance of a file in PHP's include_path:

   // Searches PHP's include_path variable for the existance of a file
   // Returns the filename if it's found, otherwise FALSE.
   // Only works on a *nix-based filesystem
   // Check like: if (($file = file_exists_path('PEAR.php')) !== FALSE)
  function file_exists_path($file) {
       // Absolute path specified
       if (substr($path,0,1)=='/')
           return (file_exists($file))?realpath($file):FALSE;

       $paths = explode(':',ini_get('include_path'));
       foreach ($paths as $path) {
           if (substr($path,-1)!='/') $path = "$path/";
           if (file_exists("$path$file"))
               return realpath("$path$file");
       }
       return FALSE;
   }

Mike

jdhurn at uberidx dot com
08-Mar-2003 02:18

This is a function I use to determine if a file contains Binary information. I use this for my search engine so that it doesn't try to index files like .zip or .mp3 or any other file that doesn't contain readable information. It makes use of the Character Type Extension if it's loaded, if it's not then it uses Regular Expressions.

function is_binary($link)
{
    $tmpStr  = '';
    @$fp     = fopen($link, 'rb');
    @$tmpStr = fread($fp, 256);
    @fclose($fp);

    if($tmpStr != '')
    {
         $tmpStr = str_replace(chr(10), '', $tmpStr);
         $tmpStr = str_replace(chr(13), '', $tmpStr);

         $tmpInt = 0;

         for($i =0; $i < strlen($tmpStr); $i++)
         {
              if( extension_loaded('ctype') )
              {
                  if( !ctype_print($tmpStr[$i]) )
                        $tmpInt++;
              }
              else
              {
                  if( !eregi("[[:print:]]+", $tmpStr[$i]) )
                        $tmpInt++;
              }
          }

          if($tmpInt > 5)
               return(0);
          else
               return(1);
    }
    else
         return(0);
}

Alex Chac�n
13-Mar-2003 03:03

[email protected]

Hi
Here there is a function that recursively print all the directories in a Unix system from initial path in pre-order.

$pathInicial = "/home1/desarrollo/";
recorrerDirectorioTree ($pathInicial);

function recorrer DirectorioTree($pathGeneral)
{
echo $pathGeneral . "\n\n";

chdir($pathGeneral);
$dir = dir(".");
$dir-> rewind();
while ($fileName = $dir->read())
{
if ($fileName != "."  && $fileName != "..")
{
if (is_dir($fileName) && !is_link($fileName))
{
echo "$fileName \n";
clearstatcache();
recorrerDirectorioTree($pathGeneral.$fileName. "/");
chdir($pathGeneral);
}
}
}
$dir->close();
return;
}

regis at webstuff dot com dot br
03-Apr-2003 03:49

Here is a useful function if you're having trouble writing raw bytes into a file.

It receives an integer and returns an array containing the ASCII values of the bytes on each index of the array.

function int2bytes($number){
 $byte = $number;
 $i=0;
 do{
  $dec_tmp = $byte;
   
   $byte = bcdiv($byte,256,0);
   $resto = $dec_tmp - (256 * $byte);
   $return[] = $resto;
 } while($byte >= 256);
 if($byte) $return[] = $byte;
 return array_reverse($return);
}

Example:

$arr = int2bytes(75832);

$arr will contain the following values:
Array
(
   [0] => 1
   [1] => 40
   [2] => 56
)

Now, to write this data to the file, just use a fputs() with chr(), just like this:

fputs($fp,chr($arr[0]).chr($arr[1]).chr($arr[2]))

-- Regis

peeweek at altern dot org
09-May-2003 12:06

here is a function that recurses all directories in a Windows Tree then displays for each directory its contents.

function ls ($curpath) {
$dir = dir($curpath);
echo("<b>$curpath</b>");
echo "<blockquote>";
while ($file = $dir->read()) {

if($file != "." && $file != "..") {
if (is_dir($curpath.$file)) {
ls($curpath.$file."\\");
} else {
echo("$file
");
}
}
}
$dir->close();
echo "</blockquote>";
return;
}

Use:

$startpath = "D:\\something\\";
ls($startpath);

add a note

<fileprobasename>
 Last updated: Sat, 19 Apr 2003
show source | credits | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: /
Last updated: Wed May 14 01:12:44 2003 CEST