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
-
- Mesaje: 500
Preia nume fisiere dintr-un director
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
MarPlo
Mesaje: 4343
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:
Pentru mai multe exemple despre DirectoryIterator, vezi tutorialul: DirectoryIterator - obtine informatii despre fisiere si directoare.
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);
?>
PySnake[1337]
Mesaje: 3
Salut, ai putea folosi functia predefinita scandir() si mai apoi cu ajutorul expresiilor regulate elimini extensia.
Varianta lui Marplo e foarte eleganta.

Varianta lui Marplo e foarte eleganta.
trif
Mesaje: 500
salut, am folosit varianta lui marplo care este:
Dar imi apare asta:
si tot asa.
AM mai preluat de pe link-ul care l-a scris asta:
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.
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);
?>
Cod: Selectaţi tot
array ( 0 => 'Cand cu Domnul umblam',
1 => 'nume_fisier',
2 => 'nume_fisier2', )
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/>';
}
}
am incercat sa fac sa nu mai aibe extensie dar nu am reusit.
Multumesc anticipat, astept raspuns. cu stima trif.
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
MarPlo
Mesaje: 4343
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:
De exemplu, in loc de var_export($files);:
Cod: Selectaţi tot
echo implode('<br/>', $files);
Cod: Selectaţi tot
$numef = 'nume_fisier.ext';
$numef = preg_replace('/(\.[a-z0-9]{1,4})$/i', '', $numef);