Ciao a tutti.. mi sono spulciato un po' il forum alla ricerca di una soluzione, ma non ne ho trovata una che mi abbia aiutato, quindi vi chiedo scusa se apro una discussione per un argomento già trattato "qualche" volta:
ho creato una pagina che gestisce l'upload e il download di file con PHP. Nella pagina di download vorrei mettere il nome del file e la data di upload. solo che usando filemtime() la data restituita è 1/1/1970.
So bene (l'ho letto in altri thread) che questa è la data "zero" e che è come se la funzione restituisse FALSE. Ho fatto la prova ed effettivamente è così. Ho letto anche che potrebbe essere la path sbagliata e che il file non esiste, ma questa non l'ho capita: io ho una cartella in locale e vedo che materialmente i file ci sono. Non solo! Anche la funzione li vede, visto che i nomi li stampa corretti! Altra cosa: all'interno della cartella c'è anche un file .DS_Store.. quel file lo legge e mi dà la giusta data!
questo è il codice:
Codice PHP:
<?php
$cartella = opendir('uploads');
while ($file = readdir($cartella)) {
$file_array[] = $file; }
foreach ($file_array as $file) {
if ( $file == ".." || $file == "." || $file == ".DS_Store") {
continue; }
echo "<div class=\"download\">";
echo "<div class=\"file-name\">";
echo "<a href=\"uploads/$file\">$file</a>";
echo "</div>";
echo "<div class=\"file-date\">";
if (file_exists($file)) {
echo date ("F d Y H:i:s.", filemtime($file));
} else { echo "N.E."; }
echo "</div>";
echo "<div class=\"download-img\">";
echo "<img src=\"immagini/download.png\" alt=\"download\" />";
echo "</div>";
echo "<div class=\"clear\"></div>";
echo "</div>";
}
?>
In questo caso mi stampa N.E. (il testo che ho messo per fare la prova con la funzione file_exist())
Qual è il problema?