Pagina 1 din 1
Preia nume fisiere dintr-un director
Scris: Lun Mai 28, 2012
de trif
salut, am si eu o intrebare cum fac un script care imi preia fisierele dintr-un folder? adica am un folder care pun fisierele:
acasa.doc
retete.doc
filme.xml
etc
si acest script preia automat fisierele intr-un php adica preia numele fiserului care se gaseste in folderul x.
si mai ales si fara extensie.
Astept raspuns. cu stima trif
Preia nume fisiere dintr-un director
Scris: Mar Mai 29, 2012
de MarPlo
Salut
Ca sa preiei in PHP numele fisierelor dintr-un director, precum si alte informatii despre fisierele din director (marime, data ultimei accesari), se poate folosi:
DirectoryIterator.
Uite un astfel de script:
Cod: Selectaţi tot
<?php
// get file names - www.coursesweb.net
$dir = 'coursesweb/'; // nume director
$files = array(); // va contine numele fisierelor
// creaza obiect de lucru cu directorul
$objDI = new DirectoryIterator($dir);
// parcurge directorul
foreach($objDI as $fileinfo) {
// daca e fisier, adauga numele in array $files, fara extensie
if($fileinfo->isFile()) {
$files[] = preg_replace('/(\.[a-z0-9]{1,4})$/i', '', $fileinfo->getFilename());
}
}
// Test
var_export($files);
?>
Pentru mai multe exemple despre
DirectoryIterator, vezi tutorialul:
DirectoryIterator - obtine informatii despre fisiere si directoare.
Preia nume fisiere dintr-un director
Scris: Mar Mai 29, 2012
de PySnake[1337]
Salut, ai putea folosi functia predefinita scandir() si mai apoi cu ajutorul expresiilor regulate elimini extensia.
Varianta lui
Marplo e foarte
eleganta.
Preia nume fisiere dintr-un director
Scris: Mar Mai 29, 2012
de trif
salut, am folosit varianta lui marplo care este:
Cod: Selectaţi tot
<?php
// get file names - www.coursesweb.net
$dir = 'coursesweb/'; // nume director
$files = array(); // va contine numele fisierelor
// creaza obiect de lucru cu directorul
$objDI = new DirectoryIterator($dir);
// parcurge directorul
foreach($objDI as $fileinfo) {
// daca e fisier, adauga numele in array $files, fara extensie
if($fileinfo->isFile()) {
$files[] = preg_replace('/(\.[a-z0-9]{1,4})$/i', '', $fileinfo->getFilename());
}
}
// Test
var_export($files);
?>
Dar imi apare asta:
Cod: Selectaţi tot
array ( 0 => 'Cand cu Domnul umblam',
1 => 'nume_fisier',
2 => 'nume_fisier2', )
si tot asa.
AM mai preluat de pe link-ul care l-a scris asta:
Cod: Selectaţi tot
objDI = new DirectoryIterator(__DIR__);
foreach($objDI as $fileinfo) {
// daca e fisier
if($fileinfo->isFile()) {
echo $fileinfo->getFilename() .'<br/>';
}
}
Si imi merge dar imi apare extensia.
am incercat sa fac sa nu mai aibe extensie dar nu am reusit.
Multumesc anticipat, astept raspuns. cu stima trif.
Preia nume fisiere dintr-un director
Scris: Mar Mai 29, 2012
de MarPlo
Pai apare
array (...) fiindca asa returneaza functia var_export() care e pusa doar de test, puteai cel putin sa inlocuiesti cu un cod ca sa iti afiseze datele din array-ul $files cum vrei.
De exemplu, in loc de
var_export($files);:
Pentru stergerea extensiei dintr-un nume de fisier, se poate aplica aceasta sintaxa:
Cod: Selectaţi tot
$numef = 'nume_fisier.ext';
$numef = preg_replace('/(\.[a-z0-9]{1,4})$/i', '', $numef);