Problema array

rosario.iameo

Nuovo Utente
29 Gen 2013
3
0
0
Save a tutti e complimenti per il forum.
Premetto che un programmatore ma ho iniziato da poco con php e ho un problema abbastanza strano.
In pratica ho la necessità di sapere i nomi di file in un cartella e poi da questi nomi sapere il time stamp. ( Il sistema gira su debian )
Riesco a fare un list della directory con scandir e ho un array con chiavi numeriche e come valore tutti i nomi dei file.
A questo punto volevo aggiungere una colonna all'array inserendo il timestamp e modificare il nome del file con il path completo del file..
Tutto mi funziona quando faccio un echo delle variabili tempo e b. Il path è corretto e il timestamp è corretto il problema viene se stampo l'array con print_r mi ritrovo che il path inizia con 1home/eccc., ma non con /, mentre il timestamp non viene inserito nell'array..
Sapreste aiutarmi???

Grazie mille in anticipo...


Codice:
$cartella = "/home/casa/live/";
$files=array();
$files = scandir($dir);
$i=0;

foreach ($files as $value)
{
	if ( $value<>"." & $value <> "..")
	{
	$b=$cartella.$value;
	$files[$i]="";
	echo "$b <BR>";
	$files[$i].=$b;
	$tempo=filemtime($b);
	echo "$tempo <BR>";
	$files[$i]["data"]=$tempo;
	$i++;
	}
}
 
Ti ho fatto delle modifiche hai fatto un po di confusione

PHP:
$path = "/home/casa/live/*.*";
$files = glob($path);

foreach ($files as $key => $value)
{
	$files[$key]=array();
	echo "$value <br>";
	$files[$key]['file']=$value;
	$tempo=filemtime($value);
	echo "$tempo <br>";
	$files[$key]['data']=$tempo;
}

print_r($files);

cosi funziona correttamente e ad ogni file viene creato un sotto-array contenente il path e il timestamp
 
Grazie mille per la risposta...
ma ora il problema è che nell'aray tengo dei nomi dei file di immagini con il relativo path che vorrei far visualizzare in una pagina ma non ci riesco in nessun modo...
Le ho provate di tutti i corti anche inserendo il path manuale nel tag image ma niente da fare...
Sapreste aiutarmi?

grazie mille anticipatamente..

Ti ho fatto delle modifiche hai fatto un po di confusione

PHP:
$path = "/home/casa/live/*.*";
$files = glob($path);

foreach ($files as $key => $value)
{
	$files[$key]=array();
	echo "$value <br>";
	$files[$key]['file']=$value;
	$tempo=filemtime($value);
	echo "$tempo <br>";
	$files[$key]['data']=$tempo;
}

print_r($files);

cosi funziona correttamente e ad ogni file viene creato un sotto-array contenente il path e il timestamp
 
Le immagini dove si trovano? Sempre sul server locale? In tal caso è sufficente riciclare l'array generato e sapendo che il path è memorizzato alla voce file dell'array ricavato, ti basterà stamparlo

PHP:
foreach($files as $file) echo "<img src='$file[file]'>";
 
Si sono sul server locale..
Ma ho nontato che ho qualche problema di permessi perchè se le immagini le trasferisco nella cartella dell'index tutto funziona..
Invece se sono altrove come nella home di un'altri utente non mi visulizza l'immagine..
Grazie mille per l'aiuto..

Le immagini dove si trovano? Sempre sul server locale? In tal caso è sufficente riciclare l'array generato e sapendo che il path è memorizzato alla voce file dell'array ricavato, ti basterà stamparlo

PHP:
foreach($files as $file) echo "<img src='$file[file]'>";
 

Discussioni simili