2016-11-10 1 views
1

Ich habe einige Probleme mit einem kleinen Skript, das Datei aus einem bestimmten Verzeichnis in eine Tabelle ausgibt, aber es gibt die lästige .DS_store Datei aus, während ich diese App auf einem Mac ausführe.Verstecke .DS_store von scandir()

Hier ist mein Skript zu setzen - Ich habe verschiedene Methoden ausprobiert, die entweder das Skript insgesamt funktioniert oder hat keine Wirkung.

<?php 

echo '<table>'; 

$dir = 'archive/'; 
$files = scandir($dir, 0); 
for($i = 2; $i < count($files); $i++) 
    echo '<tr> 
      <td>' . $files[$i]. '</td> 
      <td><a href="' . $files[$i]. '" download><button>Download</button></a> 
      <a href=""></a></td> 
      </tr>'; 

echo '</table>'; 

?> 
+0

'if ($ files [$ i]! = '.DS_store')' –

Antwort

1

Sie können alle Dateien ignorieren, die mit einem '.'

._whatever: Diese Dateien werden auf Datenträgern erstellt, die HFS nicht nativ unterstützen.

.Trash: Wird zum Speichern von Dateien verwendet, die in den Papierkorb geworfen, aber noch nicht gelöscht wurden.

.Spotlight-V100: Speichert Metadatenindizes und Indexierungsregeln für Spotlight.

<?php 

echo '<table>'; 

$dir = 'archive/'; 
$files = scandir($dir, 0); 
for($i = 2; $i < count($files); $i++) 
    if (preg_match("/^[^\.].*$/", $files[$i])) { 
    echo '<tr> 
     <td>' . $files[$i]. '</td> 
     <td><a href="' . $files[$i]. '" download><button>Download</button></a> 
     <a href=""></a></td> 
     </tr>'; 
    } 
echo '</table>'; 
?> 
+0

, die perfekt ist und was ich gesucht habe! Es macht Sinn, wie Sie jetzt dazu kommen, ich hatte es fast mit dem pre_match, aber es musste in einer IF-Anweisung gemäß Ihrer Antwort sein. – PhpDude

Verwandte Themen