Il logo del sito

Appunti su PHP

File System Extensions (php.net manual)

§ 1. Directories (php.net manual)

Le funzioni appartenenti a questo gruppo hanno a che fare con gli oggetti della classe Directory. Gli oggetti della classe Directory sono istanziati per mezzo della funzione dir() ed hanno le seguenti proprietà e metodi:

Nel seguito proverò ad utilizzare tutti questi membri

§ 2. Funzioni

Le funzioni che hanno a che fare con le directories sono le seguenti:

Nel seguito proverò tutte queste funzioni

§ 2.1 chdir

change directory

bool chdir(string $directory)

/var/www/virtual/clamin.it/htdocs/TestPages
cambio directory riuscito
/var/www/virtual/clamin.it/htdocs
ripristinata la situazione iniziale
/var/www/virtual/clamin.it/htdocs/TestPages

§ 2.2 chroot

change root directory

bool chroot(string $directory)

Questa funzione non è implementata sulle piattaforma Windows

§ 2.3 closedir

Chiude uno specifico directory handler

void closedir([resource $dir_handle])

§ 2.4 dir

Crea una istanza della classe Directory

Directory dir(string $directory [, resource $context]

Non ho la più pallida idea di cosa sia l'oggetto resource, ma dal momento che è un parametro opzionale, per il momento, sorvolo.

Provo ad esplorare tutte le proprietà pubbliche e i metodi di una istanza di Directory

/var/www/virtual/clamin.it/htdocs/TestPages
resource(3) of type (stream)
.
..

Ora ho capito che il metodo read() restituisce la prima entry della Directory e posiziona un puntatore sul successivo elemento. Quando non ci sono più elementi da leggere restituisce false.

A questo punto provo a fare un loop di questo tipo:

while(($entry=$dir->read()!== false){echo $entry."
";}

.
..
testHistoryBack.html
MyClass1.php
test_04.html
provaDateAndTime.txt
test_03.css
showLoadedExtensions.php
registraUtente.php
testmail.php
D&D07.html
esempi.css
test_07.html
php_FileHandling.php
php_MySQL_DeleteData.php
php_MySQL_SelectData.php
test_02.html
php_ProgFormRegPopup.php
test_01.html
js_02.js
php_Sessions2.php
formOrdinePizza.php
php_01.css
test_02.css
utentiRegistrati.php
forms.css
DragAndDrop01.html
css03.css
php_Functions.php
php_MySQLDatabase.php
new.html
test_01.css
Step_01_02.html
dialog.html
js_03.js
FileAPI_00.js
js_04.css
provaAuthorStyleSheet.html
Mobile_01.html
test_13.html
favicon.ico
test_09.html
HTML5_FILE_API.js
js_05.js
php_DateAndTime.js
php_MySQL_CreateDB.php
FileAPI_DandD.js
PhotosStream.css
php_DateAndTime.html
canvas.css
es01.php
welcome.txt
js_06.html
cancellaTabellaVisitatoriRegistrati.php
popup01.html
testHistory.html
PhotosGalleria.html
test.js
new1.html
ChiSonoTmp.css
js_06.js
D&D03.html
target.html
php_MySQL_LimitData.php
js_10.js
Mobile_03.html
EsempioDoc.html
formReg.php
js_09.js
DragAndDrop2.css
test_06.css
php_ProgFormReg.php
js_07.html
Modello_01_02.html
moduli.css
php_IncludeAndRequire.php
php_ClassesAndObjects.php
ChiSono.css
js_03.html
EsempiDiPosizionamentoFisso.html
js_01_new.css
DragAndDrop.html
Step_01_01.html
StudioHomePage_01.css
DragAndDrop2.html
php_PDO.php
php_Exception.php
js_DateAndTime.html
ClaMin.css
StrumentiSviluppoWeb.html
D&D01.js
provaUserAgentStyleSheet.html
test_08.html
galleriaDiFoto.html
js_04.js
js_05.html
D&D01.html
php_Directories.php
php_03.js
comune.css
php_Manual.js
formReg.js
FileAPI_DandD.css
js_03.css
index.html
D&D02.css
Drag.js
js_01.js
php_MySQL_InsertData.php
echoParametriPost.php
js_07.js
formReg.html
php_ErrorHandling.php
corniceFoto.css
FileAPI_01.html
test_10.html
test_12.html
jQuery
D&D06.css
popup01.css
creaTabellaVisitatoriRegistrati.php
php_03.php
ordinePizza.php
FileAPI.css
js_02.html
upload.php
FileAPI_00.html
php_FiltersAdvanced.php
css06.css
Modello_01_current.html
iframe01.html
css04.css
D&D02.html
formSelectQueries.js
select.html
test_03.html
css04.html
ape.gif
RebeccaMurpheyJSBasics.js
js_08.html
PhotosStream.html
php_ClassiEdInterfaccePredefinite.php
webdictionary.txt
formSelectQueries.html
css01.html
testfileSave.txt
php_MySQL_GetLastID.php
PhotosGalleria.css
test_input.php
php_01.php
test_04.css
datalist.html
StudioHomePage_01.html
php_MySQL_CreateTable.php
js_04.html
js_09.html
popup02.js
php_arrays.html
test_05.html
FileAPI_01.css
HTML5_FILE_API.html
test_06.html
D&D04.html
prova di stampa.pdf
php_Manual.php
provaArrays.php
Modello_01_04.html
css05.css
userContent.css
infoConnessione.php
DragAndDrop01.js
D&D01.css
mostraQuery.php
Modello_01_01.html
popup01.js
Modello_01_01.txt
D&D05.css
MyClass2.php
php_MySQL_Connect.php
php_MySQL_InsertMultiple.php
selectt.html
DragAndDrop.css
formOrdinePizza.html
test.css
DragAndDrop01.css
tabelle.css
Mobile_02.html
IntroHTML.html
js_10.html
php_02.css
js_02.css
D&D04.css
js_01.html
css02.css
D&D.css
D&D08.css
formUtenti.php
css07.html
php_Cookies.php
php_02.js
js_Functions.html
test_05.css
css02.html
test_11.html
Modello_01.html
echo_input.php
php_FileUpload.php
D&D07.css
php_02.php
css03.html
php_MySQL_UpdateData.php
js_08.js
testfile.txt
corniceFoto.html
EloquentJS.js
D&D08.html
css05.html
D&D06.html
js_01.css
css02.js
FileAPI_DandD.html
php_Sessions.php
EsempiDiPosizionamento.html
showPHPInfo.php
prova_DateAndTime.js
php_MySQL_Prepared.php
php_Filters.php
D&D03.css
Modello_01_03.html
mostraMenuQueryTestPages.php
echoParametriPost.txt
css06.html
D&D05.html
welcome.php
provaArrays.txt
php_ComeLeggereUnaDichiarazioneDiFunzione.php
FloatProperty.html
provaDateAndTime.php

Nota: L'ordine di restituzione delle directory del metodo read dipende dal sistema operativo.

§ 2.5 getcwd

get current work directory

string getcwd(void)


      echo getcwd()."<br>";
/var/www/virtual/clamin.it/htdocs/TestPages

§ 2.6 opendir

§ 2.7 readdir

§ 2.9 rewinddir

§ 2.10 scandir

Elenca i file e le directory in uno specificato path

array scandir (string $directory [, int $sorting_order=SCANDIR_SORT_ASCENDING[, resource $context]]])

Restituisce un array di file e directory dalla $directory

Al momento mi sembra la funzione più utile.

I possibili ordinamenti sono:

SCANDIR_SORT_ASCENDING:0
SCANDIR_SORT_DESCENDING:1
SCANDIR_SORT_NONE:2

Ecco un esempio d'uso della funzione scandir:

Array ( [0] => . [1] => .. [2] => mostraMenuCompleto.sql [3] => mostraMenuCompletoConFunzione.sql [4] => mostraTabellaMenu.sql )

§ 2.11 is_dir

Dice se il filename è una directory

bool is_dir (string $filename)

Per provare questa funzione:

Directories contenute in ../
 Template
 images
 ..
 CorsoHTML
 .
 TestPages
 CorsoJavaScript
 classiPhp
 ProPiz
 photos
 StorieNaturali
 CorsoPHP
 download
 phpmyadmin
 txt
 files
Files contenuti in ../
 nortonsw_751f84b0-daa9-0.html
 index03.html
 Ringraziamenti.html
 esempi.css
 index01.html
 QuaSic_RC_NC_Download.html
 QuaSic-Formazione-Download.html
 Articoli.html
 articoli.css
 ModelliHomePage.html
 stub.html
 index.js
 IndexNew.html
 ChiSono.html
 index.html
 index04.html
 RiferimentiDefinizioni.html
 testList.html
 sitemap.xml
 QuaSic-Formazione.html
 SviluppoSW.html
 FotoDiPiante.html
 StorieDiPiante.html
 Miglioramento.html
 efficienzaProduzione.html
 gestioneReclami.html
 index02.html
 LinguaggiWebIndex.html
 MetodiStrumenti.html
 common.css
 ClaMin.js
 google56aa7042b916f2fa.html
 esempi.html
 FotoDiAnimali.html
 index.css
 IndexOld.html
 nortonsw_d6f64050-c0c3-0.html
 QuaSic-Rc-NC.html

Stessa funzione utilizzando scandir() al posto di $read->read():

Directories contenute in ../
 .
 ..
 CorsoHTML
 CorsoJavaScript
 CorsoPHP
 ProPiz
 StorieNaturali
 Template
 TestPages
 classiPhp
 download
 files
 images
 photos
 phpmyadmin
 txt
Files contenuti in ../
 Articoli.html
 ChiSono.html
 ClaMin.js
 FotoDiAnimali.html
 FotoDiPiante.html
 IndexNew.html
 IndexOld.html
 LinguaggiWebIndex.html
 MetodiStrumenti.html
 Miglioramento.html
 ModelliHomePage.html
 QuaSic-Formazione-Download.html
 QuaSic-Formazione.html
 QuaSic-Rc-NC.html
 QuaSic_RC_NC_Download.html
 RiferimentiDefinizioni.html
 Ringraziamenti.html
 StorieDiPiante.html
 SviluppoSW.html
 articoli.css
 common.css
 efficienzaProduzione.html
 esempi.css
 esempi.html
 gestioneReclami.html
 google56aa7042b916f2fa.html
 index.css
 index.html
 index.js
 index01.html
 index02.html
 index03.html
 index04.html
 nortonsw_751f84b0-daa9-0.html
 nortonsw_d6f64050-c0c3-0.html
 sitemap.xml
 stub.html
 testList.html