|
|
XXX. Syst�me de fichiers- Table des mati�res
- basename --
S�pare le nom du fichier et le nom du dossier.
- chgrp -- Change le groupe possesseur du fichier.
- chmod -- Change le mode du fichier.
- chown -- Change le groupe propri�taire du fichier.
- clearstatcache -- Efface le cache de stat()
- copy -- Copie un fichier.
- delete -- Effacer
- dirname -- Renvoie le nom du dossier.
- disk_free_space --
Renvoie l'espace disque disponible dans le r�pertoire.
- disk_total_space -- Retourne la taille d'un dossier
- diskfreespace -- Alias de disk_free_space()
- fclose -- Ferme un fichier.
- feof -- Teste la fin du fichier.
- fflush --
Envoi tout le contenu g�n�r� dans un fichier
- fgetc --
Renvoie le caract�re que pointe le pointeur du fichier.
- fgetcsv --
Renvoie la ligne courante et cherche les champs CSV
- fgets --
Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier.
- fgetss --
Renvoie la ligne courante sur laquelle se trouve le pointeur du fichier et
�limine les balises HTML
- file_exists -- V�rifie si un fichier existe.
- file_get_contents -- Reads entire file into a string
- file_get_wrapper_data -- Retrieves header/meta data from "wrapped" file pointers
- file_register_wrapper -- Register a URL wrapper implemented as a PHP class
- file --
Lit le fichier et renvoie le r�sultat dans un tableau.
- fileatime --
Renvoie la date � laquelle le fichier a �t�
acc�d� pour la derni�re fois.
- filectime --
Renvoie l'heure � laquelle l'inode a �t�
acc�d� pour la derni�re fois.
- filegroup -- Lire le nom du groupe
- fileinode -- Renvoie le num�ro d'inode du fichier.
- filemtime --
Renvoie la date de derni�re modification du fichier.
- fileowner -- Renvoie le nom du propri�taire du fichier.
- fileperms --
Renvoie les permissions affect�es au fichier.
- filesize -- Renvoie la taille du fichier.
- filetype -- Retourne le type de fichier
- flock -- Verrouille le fichier.
- fopen -- Ouverture d'un fichier ou d'une URL.
- fpassthru --
Affiche la partie du fichier situ�e apr�s le pointeur du fichier.
- fputs -- Ecrit dans un fichier.
- fread -- Lecture du fichier en mode binaire.
- fscanf -- Analyse un fichier en fonction d'un format
- fseek -- Modifie le pointeur de fichier.
- fstat --
Lit les informations sur un fichier � partir d'un pointeur de fichier
- ftell -- Renvoie la position du pointeur du fichier.
- ftruncate -- Tronque un fichier.
- fwrite -- Ecriture du fichier en mode binaire.
- glob -- Find pathnames matching a pattern
- is_dir -- Indique si le nom de fichier est un dossier.
- is_executable -- Indique si le fichier est ex�cutable.
- is_file --
Indique si le fichier est un v�ritable fichier.
- is_link --
Indique si le fichier est un lien symbolique.
- is_readable -- Indique un fichier est autoris� en lecture
- is_uploaded_file --
Indique si le fichier a �t� t�l�charg�
par HTTP POST
- is_writable -- Indique si un fichier est autoris� en �criture.
- is_writeable -- Indique si un fichier est autoris� en �criture.
- link -- Cr�e un lien.
- linkinfo -- Renvoie les informations � propos d'un lien.
- lstat --
Renvoie les informations � propos d'un fichier ou d'un lien symbolique.
- mkdir -- Cr�e un dossier.
- move_uploaded_file -- D�place un fichier t�l�charg�.
- parse_ini_file -- Traite un fichier de configuration
- pathinfo -- Retourne des informations sur un chemin syst�me
- pclose -- Ferme un processus de pointeur de fichier.
- popen -- Cr�e un processus de pointeur de fichier.
- readfile -- Affiche un fichier.
- readlink --
Renvoie le nom du fichier vers lequel pointe un lien symbolique.
- realpath -- Retourne le chemin canonique absolu.
- rename -- Renomme un fichier.
- rewind -- Replace le pointeur de fichier au d�but.
- rmdir -- Efface un dossier.
- set_file_buffer --
Fixe la bufferisation de fichier
- stat -- Renvoie les informations � propos d'un fichier.
- symlink -- Cr�e un lien symbolique.
- tempnam -- Cr�e un fichier avec un nom unique.
- tmpfile -- Cr�e un fichier temporaire
- touch --
Affecte une nouvelle date de modification � un fichier.
- umask -- Change le "umask" courant.
- unlink -- Efface un fichier.
User Contributed Notes Syst�me de fichiers |
|
[email protected]
27-Oct-2001 06:42 |
|
Il me semblait l'avoir deja poste mais apparemment non, ou alors je ne
trouve plus ou, donc pour lister seulement certains fichiers dans un
repertoire, voila une petite fonction utile:
function
listFiles($dir , $type){
if (strlen($type) == 0) $type =
"all";
$x = 0;
if(is_dir($dir))
{
$thisdir = dir($dir);
while($entry=$thisdir->read())
{if(($entry!='.')&&($entry!='..')) {
if ($type ==
"all") {$result[$x] = $entry; $x++; next;}
$isFile =
is_file("$dir$entry"); $isDir = is_dir("$dir$entry");
if (($type == "files") && ($isFile)) {$result[$x]
= $entry; $x++; next;}
if (($type == "dir") &&
($isDir)) {$result[$x] = $entry; $x++; next;}
$temp =
explode(".", $entry);
if (($type ==
"noext") && (strlen($temp[count($temp) - 1]) == 0))
{$result[$x] = $entry; $x++;next;}
if (($isFile)
&& (strtolower($type) == strtolower($temp[count($temp) - 1])))
{$result[$x] = $entry; $x++;next;}
} }
}
return
$result;
}
donc on l'appelle en
faisant
listFiles("/mon/rep/er/toire/",
"gif")
so you'll have only .gif files
Si vous
voulez tous les fichiers et repertoires, mettez "all" au lieu de
"gif"; pour uniquement les repertoires, mettez "dir"
au lieu de "gif"; pour avoir uniquement les fichier sans
extension genre "README", tapez "noext" au lieu de
"gif"; et finalement pour avoir tous les fichiers (mais pas les
repertoires), tapez "files" au lieu de
"gif".
Notez qu'un fichier genre monfichier.doc.gif
sera reconnu en tant que .gif, pas en .doc.
|
|
[email protected]
15-Feb-2002 03:01 |
|
Barrowing from [email protected] directory example and infomation
gathered through out the internet, here is a basic example that will list
the file information for MP3 files, given the path of the directory you
would want to display, not this will do all sub directories. will only
display the information if it is valid, hope someone likes it
;>
<?PHP function mp3($filename) { $FP =
fopen($filename,"r"); $succes =
fseek($FP,-128,SEEK_END); $validtext=fread($FP,3); if(0==strcmp("TAG",$validtext)) { $Title=fread($FP,30); $Artist=fread($FP,30); $Album=fread($FP,30); $Year=fread($FP,4); $comments=fread($FP,30); $Genre=fread($FP,1); echo
"This is the Information in a MP3 file Title "; echo
"Title: $Title "; echo "Artist: $Artist
"; echo "Album: $Album "; echo
"Year: $Year "; echo "Comments: $comments
"; echo "Genre: $Genre
"; } } function
list_dir($dirname) { if($dirname[strlen($dirname)-1]!='\\') $dirname.='\\'; static
$result_array=array(); $handle=opendir($dirname); while ($file =
readdir($handle)) { $workdirsucces=chdir($dirname); if($file=='.'||$file=='..') continue; if(is_dir($dirname.$file)) list_dir($dirname.$file.'\\');
else $result_array[]=$dirname.$file; if(ereg
(".mp3$",
$file)) { call_user_func('mp3',$file); } } closedir($handle); return
$result_array; } call_user_func ('list_dir',
"C:\\Documents and Settings\\user\\My
Documents"); ?>
and that ends the wackyness, hope you
have fun Cartman
|
|
[email protected]
15-Feb-2002 04:21 |
|
i've looked everywhere for guestbooks without advertisements on them and
now that i know how to make them myself i'll give some code out to people
who are like i was. so, create three files gbook.txt gbooksign.php and
gbook.php
**gbooksign.php <html> <body> <form
action="gbook.php?action=post"
method="post"> <input type="text"
name="name" value="Name"> <input
type="text" name="comments"
value="Comments"> <input type="submit"
value="Sign"> </form>
<a
href="gbook.php?action=view">View
G-Book</a> </body> </html>
**gbook.php <html> <body> <?php if
($action=="post"){ $file=("gbook.txt"); $fp=fopen("$file",
"a+"); $write=("Name:$name \n Comments:$comments
\n"); fwrite($fp, "$write"); fclose($fp); echo
"<meta http-equiv='refresh' content='0;
url=gbooksign.php'>"; } else if
($action=="view"){ echo "<pre><font
face=tahoma>"; include ("gbook.txt"); echo
"</font></pre>"; } else { echo
"<meta http-equiv='refresh' content='0;
url=gbooksign.php'>"; } ?> </body> </html>
there
you have it.... you dont need to do anything to gbook.txt, upload all
three and have fun!
|
|
harry [at] ilo [dot] de
02-Mar-2002 01:06 |
|
In addition to the comment of [email protected]:
In ID3v1.1,
the comment has only a length of 28 bytes. This is followed by a Zero-Byte
and a second byte representing the tracknumber.
A list of of genres
including the unofficial WinAmp-Extensions can be found here:
Part A.3. (near the end of the file). The genre is represented by the
ASCII-Value of the last ID3-Byte.
|
|
[email protected]
07-Mar-2002 05: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
|
|
[email protected]
19-Mar-2002 03:23 |
|
The guestbook above allows people to enter PHP code, and have it
execute.
This is, therefore, a massive security hole.
A
better way would be to replace the "include" with something
like:
echo nl2br( htmlentities( join( "", file(
"gbook.txt" ) ) ) );
I confess to not having tried that,
it's just a suggestion, and may not work.
The main thing is that we
read from the file and process the data for display, and never simply
include it.
This also stops people from putting HTML in, which
isn't a security risk, just an irritant.
|
|
[email protected]
20-Apr-2002 08:27 |
|
A note concerning the comment of [email protected] above:
This
function does not work correctly, because there is missed the slash
"/" twice in the code:
The following line /
lines
$isFile = is_file("$dir$entry"); $isDir =
is_dir("$dir$entry");
should look like
this:
$isFile = is_file("$dir/$entry"); $isDir =
is_dir("$dir/$entry");
The "/" applies to Unix
or Linux, for Windows it should be "\\" (twice because the first
backslash is a character indicating a special instruction - like
"\n" for newline).
|
|
[email protected]
29-Jun-2002 05:12 |
|
Yes for the function, i forgot to mention it, but for the directory
parameter, it has to be ended by "/" (or "\\"
according to the system you're using).
|
|
[email protected]
18-Jul-2002 10:11 |
|
To create a blank file, use the touch() function.
Lee
|
|
shadowt[AT]uboot[DOT]com
29-Jul-2002 02:48 |
|
@lee: touch() is one way, but if the file already exists, u will only
modify its timestamp (at least afaik, i may b mistaken). so one way is to
check whether the file exists (file_exists()) or simpler, in my opinion,
try: $fd=fopen("foo.txt","w"); which creates an empty
file or empties the file if it exists and afterwards you use a
fclose($fd); now u have an empty file, no matter whether it already
existed or not..... cy.t
|
|
[email protected]
08-Aug-2002 03:31 |
|
[Editor's note: The simpler and faster equivalent to this set of functions
is to use parse_ini_file(), and extract(), e.g.
extract(parse_ini_file('myconf.cfg')).
See the appropriate
manual pages for more information]
I wanted to use a
configuration file for my PHP programs. But I wanted
the code to do
so to be easily adaptable.
I came up with this code which uses
variables to store variable names.
($$variable).
It reads
a known configuration file a puts all values into variables.
We
have a file
like:
#######################################
#
comments
mysql_password=mysql
host=localhost
#
comments
port=3306
database=guestbook
user=mysql
password=mysql
#######################################
Now
the PHP code to read these values from the file and attach them to the
right variables.
<?
//put the variable names you want
in an array.
//these must be in the same order as in the
file
$var_names[0]="mysql_password";
$var_names[1]="host";
$var_names[2]="port";
$var_names[3]="database";
$var_names[4]="table";
$var_names[5]="user";
$var_names[6]="password";
//Open
the configuration file for reading.
$fp=fopen("file.conf", "r", 1);
/* reset
the array, so we can go through it.
start reading the conf. file
line by line.
If a line starts with '#' or is empty, ignore
it.
If it's not, get the first variable name,
and
introduce a variable with the name we got out of the array,
and
give it a value of the line we read. We'll format it later on.
now
proceed with the next variable name.
Doing it this way
means variables in the file have to be in the same
order as the
ones in your array.
*/
reset($var_names);
while (! feof($fp)) {
$line=fgets($fp, 4096);
if
(($line!='') && ($line[0] !='#')) {
$temp=current($var_names);
$$temp=$line;
next($var_names);
}
}
//close the
file
fclose($fp);
/* Now each variable looks like
"variable = value", for instance
echo
"$port"; would show: port = 3086
just the line in your
conf. file
So lets format the variable and strip everything but
the value.
*/
foreach ($var_names as $variable){
$pos=strpos($$variable, "$variable=");
if (($pos
=== false) || ($pos!=0)){
echo "Error in
guestbook.conf line";
echo $$variable;
}
else
$$variable= trim(substr($$variable,
strlen($variable)+1, strlen($$variable) - (strlen($variable)+1)));
}
?>
I realise some enhancements could be made, but in
my opinion the really interesting part is
about using variables to
store variable names and then using them with $$variable.
I
hope it'll be of use to somebody. :)
|
|
|
| |