Curs Php-mysql

In acest tutorial e prezentata clasa PHP DirectoryIterator, adaugata in PHP 5+.
Aceasta clasa e utila in parcurgerea unui director, pentru a obtine informatii despre fisierele si directoarele din el (nume, marime, data ultima accesare, etc.).
Ca orice alta clasa, pentru a folosi DirectoryIterator trebuie mai intai creata o instanta de obiect la aceasta clasa:
$objDI = new DirectoryIterator($path);
- $path - reprezinta calea directorului ce trebuie citit. Pentru directorul curent se poate folosi ca $path: __DIR__ , sau dirname(__FILE__).
Apoi se pot aplica metodele clasei.
- Pentru a intelege mai bine ce face DirectoryIterator , iata cateva exemple practice.

Obtine calea la fisier

- Se foloseste metoda getPath().
$objDI = new DirectoryIterator(__DIR__);
echo $objDI->getPath();           // /home/examples/public_html

Instanta la clasa DirectoryIterator contine un obiect cu date despre directoarele si fisierele din directorul accesat. Acest obiect poate fi parcurs cu o instructiune foreach(), ca sa se obtina datele fiecarui element.

Obtine numele fisierelor din directorul curent

- Se foloseste isFile() ca sa verifice daca e fisier, si getFilename() sa preia numele.
$objDI = new DirectoryIterator(__DIR__);
foreach($objDI as $fileinfo) {
  // daca e fisier
  if($fileinfo->isFile()) {
    echo $fileinfo->getFilename() .'<br/>';
  }
}

/* Returneaza ceva similar cu:
 admin.php
 coursesweb.jpg
 jquery.js
 course.html
*/

Afla marimea fisierelor

- Se foloseste isFile() ca sa verifice daca e fisier, si getSize() sa preia marimea (in bytes).
$objDI = new DirectoryIterator(__DIR__);
foreach($objDI as $fileinfo) {
  // daca e fisier
  if($fileinfo->isFile()) {
    $filesize = $fileinfo->getSize() / 1024;          // 1 KB = 1024 bytes
    echo $fileinfo->getFilename() .' '. $filesize .' KB<br/>';
  }
}

/* Returneaza ceva similar cu:
 admin.php 3.1572265625 KB
 coursesweb.jpg 11.498046875 KB
 jquery.js 122.095703125 KB
*/

Obtine numele directoarelor din cel curent

- Se foloseste isDir() sa verifice daca e director, isDot() prin care se verifica sa nu fie '.' sau '..', si getFilename() sa preia numele.
$objDI = new DirectoryIterator(__DIR__);
foreach($objDI as $fileinfo) {
  // daca e director, dar nu '.' sau '..'
  if($fileinfo->isDir() && !$fileinfo->isDot()) {
    echo $fileinfo->getFilename() .'<br/>';
  }
}

/* Returneaza ceva similar cu:
 Pages
 CoursesWeb
 Tutorials
*/

Afla permisiunile CHMOD

- Se foloseste isDot() sa nu fie '.' sau '..', si getPerms() sa preia permisiunile (in numar intreg decimal).
$objDI = new DirectoryIterator(__DIR__);
foreach($objDI as $fileinfo) {
  // daca nu e '.' sau '..'
  if(!$fileinfo->isDot()) {
    // preia octal din numar intreg decimal
    $octal_perms = substr(sprintf('%o', $fileinfo->getPerms()), -4);
    echo $fileinfo->getFilename() .' '. $octal_perms .'
'; } } /* Returneaza ceva similar cu: admin.php 0644 Pages 0755 Tutorials.html 0644 */

Verifica daca directoarele si fisierele pot fi scrise

- Se foloseste isWritable(). Returneaza True daca pot fi scrise date cu PHP in fisierul /directorul curent, altfel False.
$objDI = new DirectoryIterator(dirname(__FILE__));
foreach($objDI as $fileinfo) {
  if($fileinfo->isWritable()) {
    echo $fileinfo->getFilename() .' poate fi scris<br/>';
  }
}

/* Returneaza ceva similar cu:
 coursesweb.htm  poate fi scris
 Pages  poate fi scris
 websites.txt  poate fi scris
*/

Afla data ultimei accesari a fisierelor

- Se foloseste isFile() ca sa verifice daca e fisier, si getATime() sa preia data ultimei accesari (in Unix timestamp).
$objDI = new DirectoryIterator(dirname(__FILE__));
foreach($objDI as $fileinfo) {
  if($fileinfo->isFile()) {
    echo $fileinfo->getFilename() .' '. $fileinfo->getATime() .'<br/>';
  }
}

/* Returneaza ceva similar cu:
 coursesweb.htm  1319637336
 Pages  1319880959
 websites.txt 1327757524
*/

• Ca sa vedeti lista cu toate metodele clasei DirectoryIterator, vizitati: Clasa DirectoryIterator.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag adauga rand nou in paragraf?
<b> <br> <p>
Prima linie ...<br>
Alta linie...
Ce proprietate CSS seteaza spatiu dintre litere?
text-size word-spacing letter-spacing
#id {
  letter-spacing: 2px;
}
Ce functie obtine accesul la un element HTML cu un anumit ID?
getElementById() getElementsByTagName() createElement()
var elm = document.getElementById("theID");
var content = elm.innerHTML;
alert(content);
Clic pe instructiunea "echo" utilizata corect.
echo "CoursesWeb.net" echo "CoursesWeb.net"; echo ""CoursesWeb.net";
echo "Adresa URL: http://CoursesWeb.net";
Care din urmatoarele expresii cu "paint" (a picta) se foloseste pentru forma Negativa?
will paint not paint have painted
She does not paint that landscape.
- Ea nu picteaza acel peisaj.
Care din urmatoarele expresii cu "cantar" (a canta) se foloseste pentru propozitie Negativa?
ir a cantar cantaba no cantar
Ella no canta esa canciĆ³n.
- Ea nu canta acel cantec.
DirectoryIterator - obtine informatii despre fisiere si directoare

Last accessed pages

  1. Curs si Tutoriale Ajax (51984)
  2. Definire si Utilizare Functii in JS (2466)
  3. Forta gandirii pozitive (542)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (66631)
  5. Articolul din limba engleza - The article (41102)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (4262)
  2. Curs HTML gratuit Tutoriale HTML5 (3514)
  3. Curs si Tutoriale JavaScript (3036)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (2994)
  5. Curs CSS Online Tutoriale CSS3 (2941)