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)

/home/clamin/public_html/TestPages
cambio directory riuscito
/home/clamin/public_html
ripristinata la situazione iniziale
/home/clamin/public_html/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

/home/clamin/public_html/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."
";}

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

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>";
/home/clamin/public_html/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 ../
 .
 ..
 cgi-bin
 classiPhp
 CorsoHTML
 CorsoJavaScript
 CorsoPHP
 download
 files
 images
 photos
 phpmyadmin
 ProPiz
 StorieNaturali
 Template
 TestPages
 txt
 .well-known
Files contenuti in ../
 articoli.css
 Articoli.html
 ChiSono.html
 ClaMin.js
 common.css
 efficienzaProduzione.html
 esempi.css
 esempi.html
 FotoDiAnimali.html
 FotoDiPiante.html
 gestioneReclami.html
 google56aa7042b916f2fa.html
 index.css
 index.html
 index.js
 index01.html
 index02.html
 index03.html
 index04.html
 IndexNew.html
 IndexOld.html
 LinguaggiWebIndex.html
 MetodiStrumenti.html
 Miglioramento.html
 ModelliHomePage.html
 nortonsw_751f84b0-daa9-0.html
 nortonsw_d6f64050-c0c3-0.html
 QuaSic-Formazione-Download.html
 QuaSic-Formazione.html
 QuaSic-Rc-NC.html
 QuaSic_RC_NC_Download.html
 RiferimentiDefinizioni.html
 Ringraziamenti.html
 sitemap.xml
 StorieDiPiante.html
 stub.html
 SviluppoSW.html
 testList.html
 .htaccess

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

Directories contenute in ../
 .
 ..
 .well-known
 CorsoHTML
 CorsoJavaScript
 CorsoPHP
 ProPiz
 StorieNaturali
 Template
 TestPages
 cgi-bin
 classiPhp
 download
 files
 images
 photos
 phpmyadmin
 txt
Files contenuti in ../
 .htaccess
 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