Hallo,
ich benutze folgenden php code in einem wordpress template, es soll eine Tabelle mit Informationen aus den pdf namen gefüttert werden. Der Code sieht folgendermaßen aus:
$path=__DIR__.('./pdf');
read_dir($path);
function read_dir($dir) {
$path = opendir($dir);
while (false !== ($file = readdir($path))) {
if($file!="." && $file!=".." && $file != "index.php" && $file != "zip") {
if(is_file($dir."/".$file))
$files[]=$file;
else
$dirs[]=$dir."/".$file;
}
}
if(isset($dirs)) {
natcasesort($dirs);
foreach($dirs as $dir) {
echo $dir;
read_dir($dir);
}
}
if($files) {
natcasesort($files);
$zaehler=0;
foreach ($files as $file){
/// echo "$file <br>";
$file2 = ereg_replace("\(r\)", "<SUP>®</SUP>", $file);//wir basteln uns ein Registrierungszeichen
//$file2 = ereg_replace("ae", "ä", $file2);// und nun ein �//$file2 = ereg_replace("oe", "ö", $file2);// und nun ein �//$file2 = ereg_replace("ue", "ü", $file2);// und nun ein
$split = explode("_", $file2);// und nun teilen wir den Dateinamen in seine Einzelteile, als trennung haben wir ein"_"
if(sizeof($split)==7){ // Hier wird kontrolliert ob auch alle Einzelteile bestehen
$kontrolle = $split[0]; // teil1
$system = $split[1]; // teil2
$charge = $split[2]; // teil3
$verfall = $split[3]; // teil4
$werteblatt = $split[4]; // teil5
$disk = $split[5]; // teil6
$cdrom = $split[6];
$kontrolle=verweis($kontrolle); // Kontrolle wird, falls vorhanden, mit Link versehen
//$diskette = substr($disk, 0, 1);
$diskette=$disk;
$cd_rom = substr($cdrom, 0, 1);
if($zaehler%2==0){ // unterschiedliche Erfaerbung der Zeilen
echo "<tr class=\"Stil8\">";
}else{
echo "<tr class=\"Stil2\">";
}
echo "<td>$kontrolle</td><td> $system</td><td>$charge</td><td>$verfall</td><td>"; //
if ($werteblatt<="0"){
echo "nicht vorhanden";//was steht im bereich werteblatt - muss eigentlich eine 1 sein - aber man kann ja nie wissen
}else{
echo "<img src=\"../wp-content/themes/busiprof/images/download.png\"> <a href=\"../wp-content/themes/short/templates/schnellteste-human/$file\" target=\"_blank\"> Download</a>"; //
}
echo "</td><td>";
if ($diskette<="0"){
echo " <img src=\"../wp-content/themes/busiprof/images/download.png\"> nicht vorhanden";
}else {
echo "<img src=\"../wp-content/themes/busiprof/images/download.png\"><a href=\"zip/$charge.zip\" target=\"_blank\"> Download</a>";
}
echo"</td><td>";
if ($cd_rom<="0"){
echo " <img src=\"../wp-content/themes/busiprof/images/download.png\"> nicht vorhanden";}
else {
// Neu************************************************************
if(strstr($kontrolle,"BC-o-trol<SUP>®</SUP>5000")){ // fuer BC-o-trol sind die Werte auf USB
$bezeichnung="zip/$charge"."USB.zip";
echo "<img src=\"../wp-content/themes/busiprof/images/download.png\"><a href=\"../wp-content/themes/short/templates/$bezeichnung\" target=\"_blank\"> USB-Download</a>";
}else{
//******************************************************
$bezeichnung="zip/$charge"."CD.zip";
echo "<img src=\"../wp-content/themes/busiprof/images/download.png\"><a href=\"../wp-content/themes/busiprof/$bezeichnung\" target=\"_blank\"> Download</a>";
//Neu***************
}
//**********************
}
echo"</td></tr>";
}
$zaehler++;
} // Ende der foreach-Schleife
//////////
}
closedir($path);
}
?>
der Code hat bis zur Umstellung auf php 7.2 super geklappt und nun bekomme ich folgenden Fehler: readdir() expects parameter 1 to be resource, boolean given on line 8. Ich hab leider keine Ahnung warum es vor dem Update lief und nun nicht mehr. Kann mir jemand weiter helfen?
Danke schon mal!