|
|
XXX. Bestands-systeem functiesAfhankelijkhedenDeze functies zijn beschikbaar als onderdeel van
de standarad module die altijd beschikbaar is. InstallatieEr 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 Naam | Standaard waarde | Veranderbaar |
---|
allow_url_fopen | "1" | PHP_INI_ALL | user_agent | NULL | PHP_INI_ALL | default_socket_timeout | "60" | PHP_INI_ALL | from | NULL | ?? | 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.
- 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.
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.
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 |
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 |
| |