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: Tue, 22 Apr 2003

XXX. Bestands-systeem functies

Introductie

Afhankelijkheden

Deze functies zijn beschikbaar als onderdeel van de standarad module die altijd beschikbaar is.

Installatie

Er zijn geen handelingen nodig m.b.t. tot installatie voor deze functies, deze maken deel uit van de kern van PHP.

Configuratie tijdens scriptuitvoer

Het gedrag van deze functies wordt be�nvloed vanuit php.ini.

Tabel 1. Bestands-systeem en stream configuratie opties

NaamStandaard waardeVeranderbaar
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 is een korte uitleg van de configuratie opties.

allow_url_fopen boolean

Deze optie activeert de URL-uitgeruste fopen wrappers die het mogelijk maken om URL objekten zoals bestanden te openen. Standaard wrappers zijn geleverd om toegang te krijgen tot externe bestanden die gebruik maken van ftp of http protocol. Sommige extensies zoals zlib kunnen als extra wrapper geregistreerd worden.

Opmerking: Deze optie was geintroduceerd onmiddelijk na het uitkomen van versie 4.0.3. Voor versies tot en met 4.0.3 kan je deze functionaliteit alleen maar uitschakelen tijdens het compilen met de optie --disable-url-fopen-wrapper.

Waarschuwing

Op Windows versie voor PHP 4.3.0, ondersteunen de volgende functies geen externe bestands toegang: include(), include_once(), require(), require_once() en de imagecreatefromXXX functie in de Referentie XLI, Image functions extensie.

user_agent string

Defineert de user agent die door PHP wordt meegezonden.

default_socket_timeout integer

Standaard timeout (in seconden) voor socket gebaseerde streams.

Opmerking: Deze configuratie optie is ge�ntroduceerd in PHP 4.3.0.

from="[email protected]" string

Defineert het anonieme ftp wachtwoord (je eigen email adres).

auto_detect_line_endings boolean

Als het wordt aangezet, zal PHP de data gelezen via fgets() en file() onderzoeken om te kijken of het Unix, MS-Dos of Macintosh regeleindes gebruikt.

Dit zorgt ervoor dat PHP ook werkt op Macintosh systemen, maar staat standaard uit, omdat er een hele kleine winst valt te halen uit het vinden van EOL voor de eerste regel, en ook omdat mensen die carriage-returns gebruiken om objekten te onderscheiden onder Unix niet-achterwaardse-compatible problemen kunnen ervaren.

Opmerking: Deze configuratie optie is ge�ntroduceerd in PHP 4.3.0.

Resource types

Voorgedefineerde constanten

Deze constanten worden gedefineerd door deze extensie, en zullen alleen beschikbaar zijn als de extensie met PHP is meegecompileerd, of als deze dynamisch is geladen vanuit een script.

GLOB_BRACE (integer)

GLOB_ONLYDIR (integer)

GLOB_MARK (integer)

GLOB_NOSORT (integer)

GLOB_NOCHECK (integer)

GLOB_NOESCAPE (integer)

PATHINFO_DIRNAME (integer)

PATHINFO_BASENAME (integer)

PATHINFO_EXTENSION (integer)

Zie ook

Voor gerelateerde functies kan je ook kijken bij de secties van Directories en Programma's uitvoeren.

Voor een lijst en uitleg van verschillende URL wrappers die gebruikt kunnen worden met externe bestanden, zie ook Aanhangsel I.

Inhoudsopgave
basename -- Geeft het bestandsnaam van een pad terug
chgrp -- Veranderd de groep van een bestand
chmod -- Veranderd de modus van een bestand
chown -- Veranderd de eigenaar van een bestand
clearstatcache -- Leegt de bestands-status cache
copy -- Kopieert een bestand
delete -- Zie unlink() of unset()
dirname -- Geeft de foldernaam van het pad terug
disk_free_space -- Geeft de beschikbare vrije ruimte in een folder terug
disk_total_space -- Geeft de totale ruimte van een folder terug
diskfreespace -- Alternatief voor disk_free_space()
fclose -- Sluit een open bestands pointer
feof -- Test op einde-van-bestand van een bestands pointer
fflush -- Schrijft de output naar een bestand
fgetc -- Haalt ��n teken op uit de bestands pointer
fgetcsv -- Haalt een regel op van de bestands pointer en benoemt hem op CSV velden
fgets -- Haalt een regel op van de bestands pointer
fgetss -- Haalt een regel op van de bestands pointer en stript de HTML tags
file_exists -- Kijkt of een bestand of directorie bestaat
file_get_contents -- Leest een bestand volledig in een string
file_put_contents -- Write a string to a file
file -- Leest het volledige bestand in een array
fileatime -- Haalt de laatste toegangs tijd op van een bestand
filectime -- Haalt de 'inode verander' tijd op van een bestand
filegroup -- Leest de groep van een bestand uit
fileinode -- Haalt de inode op van een bestand
filemtime -- Haalt de 'laatst gewijzigd' tijd op van een bestand
fileowner -- Leest de eigenaar van een bestand uit
fileperms -- Leest de permissies van een bestand uit
filesize -- Leest de grootte van een bestand uit
filetype -- Leest het type van een bestand uit
flock -- Portable op advies gebaseerde bestands blokkering
fnmatch -- Controleert het bestandsnaam op een patroon
fopen -- Opent een bestand of URL
fpassthru -- Geeft alle overgebleven data weer van een bestands pointer
fputs -- Schrijft naar een bestands pointer
fread -- Binair veilig bestand lezen
fscanf -- Ontleed de invoer van een bestand volgens een formaat
fseek -- Zoekt in een bestands pointer
fstat -- Verzameld de statestieken van een bestand geopend door de bestandspointer
ftell -- Geeft de positie in een bestand terug
ftruncate -- Kapt een bestand af tot een gegeven lengte
fwrite -- Binair veilig bestand schrijven
glob -- Zoekt padnamen die met een patroon overeen komen
is_dir -- Zegt of een bestandsnaam een folder is
is_executable -- Zegt of een bestandsnaam een executable is
is_file -- Zegt of een bestandsnaam een bestand is
is_link -- Zegt of een bestandsnaam een symbolic link is
is_readable -- Zegt of een bestandsnaam gelezen kan worden
is_uploaded_file -- Zegt of een bestandsnaam geupload is via HTTP POST
is_writable -- Zegt of een bestandsnaam schrijfbaar is
is_writeable -- Zegt of een bestandsnaam schrijfbaar is
link -- Maakt een hard link
linkinfo -- Haalt informatie over een link op
lstat -- Geeft informatie over een bestand of een symbolic link
mkdir -- Maakt een folder aan
move_uploaded_file -- Verplaatst een geuploade bestand naar een nieuwe lokatie
parse_ini_file -- Verwerkt een configuratie bestand
pathinfo -- Geeft informatie over een pad
pclose -- Sluit proces bestands pointer
popen -- Opent een proces bestands pointer
readfile -- Laat de inhoud van een bestand zien
readlink -- Geeft het doel van een symbolic link weer
realpath -- Geeft de gebruikelijke absolute padnaam terug
rename -- Hernoemt een bestand
rewind -- Spoelt de positie van een bestands pointer terug
rmdir -- Verwijdert een folder
set_file_buffer -- Alias van stream_set_write_buffer()
stat -- Geeft informatie over een bestand
symlink -- Maakt een symbolic link aan
tempnam -- Maakt een bestand met een unieke bestandsnaam
tmpfile -- Maakt een tijdelijke bestand aan
touch -- Veranderd de laatste toegangs- en laatste wijzig tijd van een bestand
umask -- Veranderd de huidige umask
unlink -- Verwijdert een bestand


User Contributed Notes
Bestands-systeem functies
add a note 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);

mitra at mitra dot biz
16-May-2003 05:10

[email protected] contributed this in response to a question on setting these variables ...
This option *IS* settable within your PHP scripts.
Example:

<?php
ini_set('auto_detect_line_endings', true);
 $contents = file('unknowntype.txt');

 ini_set('auto_detect_line_endings', false);
 $content2 = file('unixfile.txt');
?>

Note, with PHP 4.3 anytime Mac files are read using fgets or file you'll need to auto_detect_line_endings since \n is otherwise assumed.  However, with PHP 5.0, stream_get_line() will allow you to specify what line ending character to read up to.

\\ Read a line from a MAC file
stream_get_line($fp, 4096, "\r");

\\ Read a line from a UNIX file
stream_get_line($fp, 4096, "\n");

\\ Read a line from a DOS file
stream_get_line($fp, 4096, "\r\n");

\\ Read a line up to any filesystem line ending
ini_set('auto_detect_line_endings', true); fgets($fp);

\\ You can also make up your own line ending characters:
\\ Read up to the first instance of ":"
stream_get_line($fp, 4096, ":");

add a note add a note

<fileprobasename>
 Last updated: Tue, 22 Apr 2003
show source | credits | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: /
Last updated: Sun May 25 21:10:51 2003 CEST