Ich habe ein Script aus dem Netz, das alle Bilddateien aus einem vorgegebenen Verzeichnis liest. Das funktioniert auf dem Server (mit PHP Version 4.4.1), aber nicht lokal mit einer XAMPP-Installation (PHP Version 5.0.4).
Hat jemand dafür eine Erklärung?
$dir="$result[1]"; // der Verzeichnisname kommt aus einer Datenbank
$DirectoriesToScan = array(realpath('img/'.$dir));
$DirectoriesScanned = array();
while (count($DirectoriesToScan) > 0) {
foreach ($DirectoriesToScan as $DirectoryKey => $startingdir) {
if ($dir = @opendir($startingdir)) {
while (($file = readdir($dir)) !== false) {
if (($file != '.') && ($file != '..')) {
$RealPathName = realpath($startingdir.'/'.$file);
if (is_dir($RealPathName)) {
if (!in_array($RealPathName, $DirectoriesScanned) && !in_array($RealPathName, $DirectoriesToScan)) {
$DirectoriesToScan[] = $RealPathName;
}
} elseif (is_file($RealPathName)) {
$FilesInDir[] = $RealPathName;
}
}
}
closedir($dir);
}
$DirectoriesScanned[] = $startingdir;
unset($DirectoriesToScan[$DirectoryKey]);
}
}
$FilesInDir = array_unique($FilesInDir);
sort($FilesInDir);
// und das mache ich dann daraus bei http://jazzimage.de
foreach ($FilesInDir as $filename)
{
$i=$i+1; $ii=$i+1;
$temp=split("/", $filename); // weil der Pfad desd Scripts zu lang ist
echo "<a name=$i><a href=#$ii><img border=1 src=$temp[5]/$temp[6]/$temp[7] alt=$temp[6]-$temp[7]></a><br>
<a href=#top>top</a> | ($temp[6]/$temp[7])<br>";
}
}
Hat jemand dafür eine Erklärung?
$dir="$result[1]"; // der Verzeichnisname kommt aus einer Datenbank
$DirectoriesToScan = array(realpath('img/'.$dir));
$DirectoriesScanned = array();
while (count($DirectoriesToScan) > 0) {
foreach ($DirectoriesToScan as $DirectoryKey => $startingdir) {
if ($dir = @opendir($startingdir)) {
while (($file = readdir($dir)) !== false) {
if (($file != '.') && ($file != '..')) {
$RealPathName = realpath($startingdir.'/'.$file);
if (is_dir($RealPathName)) {
if (!in_array($RealPathName, $DirectoriesScanned) && !in_array($RealPathName, $DirectoriesToScan)) {
$DirectoriesToScan[] = $RealPathName;
}
} elseif (is_file($RealPathName)) {
$FilesInDir[] = $RealPathName;
}
}
}
closedir($dir);
}
$DirectoriesScanned[] = $startingdir;
unset($DirectoriesToScan[$DirectoryKey]);
}
}
$FilesInDir = array_unique($FilesInDir);
sort($FilesInDir);
// und das mache ich dann daraus bei http://jazzimage.de
foreach ($FilesInDir as $filename)
{
$i=$i+1; $ii=$i+1;
$temp=split("/", $filename); // weil der Pfad desd Scripts zu lang ist
echo "<a name=$i><a href=#$ii><img border=1 src=$temp[5]/$temp[6]/$temp[7] alt=$temp[6]-$temp[7]></a><br>
<a href=#top>top</a> | ($temp[6]/$temp[7])<br>";
}
}
Kommentar