2016-09-08 1 views
1

Ich versuche, den Code auf den php docs hier http://php.net/manual/en/function.scandir.phpphp scandir keine Fehler zu werfen, sondern die Auflistung nicht dir Inhalt

jedoch aufgeführt zu folgen, wenn ich den Code nichts ausführen angezeigt wird. Könnte mir bitte jemand zeigen, wo ich Fehler mache?

meinen Code

<?php 
$directory = "/xyz/images/"; 
$images = glob($directory . "*.jpg"); 
foreach($images as $image) 
{ 
    echo $image; 
} 
error_reporting(E_ALL); 
?> 

Nichts angezeigt wird. Ich verwende XAMPP als unter Windows. Ich habe auch diese Fragen Listing all images in a directory using PHP

Get filenames of images in a directory

verwiesen

Ich habe auch versucht, "c:/xampp/htdocs/xyz/images /", "/ xyz/images /", "xyz/images /" "/ images /" als mein Verzeichnis.

<?php 
error_reporting(E_ALL); 
$directory = scandir("linewalk'); 
$images = glob($directory . "*.jpg"); 
foreach($images as $image) 
{ 
    echo $image; 
} 

?> 

seine jetzt werfen Fehler Parse-Fehler: Syntaxfehler, unerwartet ''


<?php 
error_reporting(E_ALL); 
foreach (scandir(".") as $file) 
echo $file . "\n"; 
?> 

****** Dank für Ihre Hilfe und Vorschläge ********* Werke und Listen Inhalt des aktuellen Verzeichnisses ich zur Zeit bin in root/xyz/Test so zu scannen/xyz/Bilder sollte es
(scandir ("qa/linewalk") Warnung: scandir (qa/linewalk, qa/linewalk): Das System kann den angegebenen Pfad nicht finden - ist, was ich bekomme, wenn ich versuchen

+0

versuchen '/ htdocs/xyz/images /' – Craig

+0

Versuchen Sie zu überprüfen, das Verzeichnis existiert zuerst http://php.net/manual/en/function.is-dir.php 'if (! Is_dir ($ Verzeichnis)) { exit ('Verzeichnis existiert nicht'); } '. Probieren Sie auch 'glob ($ dir. *.jpg ", GLOB_ERR)' da dies dazu führt, dass glob bei Fehlern wie unlesbaren Verzeichnissen usw. aufhört. –

+0

Ich könnte hier falsch liegen, aber würden die Fehler nicht gemeldet werden, da die Fehlerberichterstattung nach dem Auftreten der Fehler aktiviert wird? Setzen Sie die Fehlermeldezeile auf, bevor der eigentliche Code startet, und sehen Sie, ob das Fehler verursacht. –

Antwort

1

Sie sollten Ihr Verzeichnis in einem Dateisystem Pfad konvertieren:

$directory = dirname(__FILE__) . "/xyz/images/";

auch können Sie verwenden RecursiveDirectoryIterator

$dirIterator = new RecursiveDirectoryIterator($directory); 
$iterator = new RecursiveIteratorIterator($dirIterator, RecursiveIteratorIterator::SELF_FIRST); 

foreach ($iterator as $file) { 
    print_r($file); 
} 
1

Linie

$directory = "/xyz/images/"; 

bedeutet, dass Sie Dateien aus xyz Ordner im Stammverzeichnis Ihres Servers (Computer) nehmen. Ich nehme an, es gibt keine solchen Ordner und Sie haben keine Berechtigungen, um darauf zuzugreifen.

Also, sollten Sie Ihren Weg vorsichtiger, zum Beispiel ein:

// path comes from yor server docroot 
$directory = $SERVER['DOCUMENT_ROOT'] . "/xyz/images/"; 

// path comes from current folder in which your script is run 
$directory = "./xyz/images/"; 
+0

Der Pfad des Verzeichnisses, das ich auflisten möchte, ist "root_folder/xyz/images". Das Skript befindet sich in "root_folder/xyz/test /" So wäre "/ xyz/images" nicht das richtige Verzeichnis – liquidacid

+0

Wenn Sie den vollständigen Pfad kennen - verwenden Sie ihn. –

0

Der Pfad zur Position der PHP-Datei ist relativ.

Daher, wenn die PHP-Datei und das xyz Verzeichnis im selben übergeordneten Verzeichnis befinden, einfach dann

$directory=scandir(xyz/images/);

verwenden
Verwandte Themen