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
Ce tag adauga imagine in pagina web?
<div> <img> <span>
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS afiseaza textul inclinat?
font-style: italic; text-decoration: underline; font-weight: 500;
#id {
  font-style: italic;
}
Clic pe functia jQuery care ascunde animat un element HTML.
click() hide() show()
$(document).ready(function() {
  $(".a_class").click(function(){ $(this).hide("slow"); });
});
Clic pe functia definita corect in PHP.
fname function() {} function fname() {} function $fname() {};
function fname($a, $b) {
  echo $a * $b;
}
Indicati forma pentru Prezent Perfect Continuu a verbului "to walk" (a merge).
have walked have been walking be walking
I have been walking for 5 hours.
- Merg pe jos de 5 ore.
Indicati Trecutul Nedefinit pentru verbul "ser" (a fi) la forma Yo.
será sería fui
Yo fui entrenador.
- Am fost antrenor.
DirectoryIterator - obtine informatii despre fisiere si directoare

Last accessed pages

  1. Forma verbului Hay (6270)
  2. Configurare text (5532)
  3. Obiect Number si Math - Numere (278)
  4. Operatori in JavaScript (8332)
  5. Ferestre Alert Prompt si Confirm (3319)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (621)
  2. Curs HTML gratuit Tutoriale HTML5 (363)
  3. Coduri pt culori (325)
  4. Exercitii engleza - English Tests and exercises - Grammar (290)
  5. Gramatica limbii engleze - Prezentare Generala (271)