Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Fehlermeldungen aufgrund Bilder-Script ?
#1
Auf unserer Homepage gibt es rechts oben ein Zufallsbild.

Erzeugt wird es so:
Code:
//
//  Picture Plugin for PortaMx
//
//  V.03 - added hyperlinks per directory
//
//  easyvdr.de team
//
/////////////////////////////////////////

// variable definition
///////////////////////
$size=160;
$sourceDirs=array(
  array("/opt/www/easy-vdr.de/httpdocs/piwigo/galleries/Usertreffen-2015-Ulm","http://www.easy-vdr.de/piwigo/index.php?/category/49"),
  array("/opt/www/easy-vdr.de/httpdocs/piwigo/galleries/Usertreffen-2015-Ulm","http://www.easy-vdr.de/piwigo/index.php?/category/49"),
  array("/opt/www/easy-vdr.de/httpdocs/piwigo/galleries/Usertreffen-2015-Ulm","http://www.easy-vdr.de/piwigo/index.php?/category/49"),
  array("/opt/www/easy-vdr.de/httpdocs/piwigo/galleries/easyVDR-20/", "http://www.easy-vdr.de/piwigo/index.php?/category/44")
);

// Search source directory(s) for albums (=subdirs)
////////////////////////////////////////////////////
foreach($sourceDirs as $sourceDirArr) {
  $sourceDir=$sourceDirArr[0];
  !preg_Match("/\/$/",$sourceDir) && $sourceDir=$sourceDir."/";
  $DIR = openDir($sourceDir);

  // Search subdirs - but exclude '.'dirs & tmp folders
  ///////////////////////////////////////////////////
  while($child=readdir ($DIR)) {
    $dirname=$sourceDir.$child;
    if(is_dir($dirname) && !preg_match("/^\./",$child) && $child != "tmp"){   
//DEBUG      echo "$dirname\n<br>";
      $dirs[] = array($dirname, $sourceDirArr[1]);
    } else if(is_file($dirname) && !preg_match("/^thumb/i",$child) && preg_Match("/(jpg|gif|jpeg)$/i",$child)) {
      // Search pics - but exclude thumbnails
      ///////////////////////////////////////////////////
      $pics[]=array($dirname, $sourceDirArr[1]);
//DEBUG      echo "$dirname.$child<br>\n";
    }
  }
}
closedir($DIR);

// Now that we have all directories with albums in $dirs (dirs[0]=dir, dir[1]=weblink) - lets lookup Pictures
///////////////////////////////////////////////////////////////
foreach($dirs as $dirArr) {
  $dir=$dirArr[0];
  !preg_Match("/\/$/",$dir) && $dir=$dir."/";
//DEBUG  echo $dir."\n<br>";
 
  $DIR = openDir("$dir");
  while (($child = readDir($DIR))) {

    // Search pics - but exclude thumbnails
    ///////////////////////////////////////////////////
    if (!preg_match("/^thumb/i",$child) && preg_Match("/(jpg|gif|jpeg)$/i",$child)) {
      $pics[]=array($dir.$child, $dirArr[1]);
//DEBUG      echo "$dir.$child<br>\n";
    }
  }
}

// $pics is a large array of the pictures (pics[0]=pic, pics[1]=weblink) we found - inkl. directory path
//////////////////////////////////////////////////////////////////////////
$random = rand(0,count($pics)-1);

$picIntLink=$pics[$random][0];
$webLink=$pics[$random][1];
$docRoot="/".str_replace('/','\/', $_SERVER[ 'DOCUMENT_ROOT'])."/";
$picExtLink=preg_replace($docRoot, '', $pics[$random][0]);

echo "<a href='$webLink'><img src='http://".$_SERVER['SERVER_NAME']."/gallery/thumb/thumb.php?image=$picExtLink&size=$size&type=RESIZE'></a><br>";


Nach Updates vom Portal (PortaMX) hagelt es diese Meldungen
Zitat:2: Invalid argument supplied for foreach()Filter hinzufügen: Nur Fehler von dieser Datei zeigen Datei: /opt/www/easy-vdr.de/httpdocs/forum/Themes/default/PortaMx/Frames.template.php (portamx_below sub template - eval?)
Zeile: 46

8: Undefined variable: dirsFilter hinzufügen: Nur Fehler von dieser Datei zeigen Datei: /opt/www/easy-vdr.de/httpdocs/forum/Themes/default/PortaMx/Frames.template.php (portamx_below sub template - eval?)
Zeile: 46

Weiss ein PHP kundiger wie man das wegbekommt ?
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#2
Hallo Martin..
Mir ist nur auf die schnelle aufgefallen, das die Variable $dir Zeile 51 in "" geschrieben wurde. Da müsste man gucken, ob openDir damit ein Problem hat.
Ansonsten recht verwirrend und zeitaufwendig diese Arrays Story auseinander zu klambüsern. Müsste man sich mal in Ruhe angucken.

Edit:
Was mir auch nicht sonderlich zusagt, mal schreibt der Scripter readdir mal readDir, ähnlich ist es auch mit openDir, was nicht sonderlich konsequent ist und ich kenn es nur komplett klein geschrieben opendir, closedir, readdir.. liegt halt im Auge des Betrachters.

Gruß Aaron
Mediacenter
easyVDR4.Alpha(Lubuntu18.04 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Zitieren
#3
Hi,
frag doch mal in deinem Fred dazu:
http://portamx.com/2180/block-for-random...llery-cpg/

MfG,
Stefan

Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, Mygica t230 Stick als Tuner, nvidia Slim-GT218 512MB PCIe x1     -   v3.5-64
VDR2 in Rente
VDR3 in Rente
VDR4: MSI G31M2 v2, Intel E5200, 6" t6963c gLCD, 2GB, WD Red 4TB, 2x TT3200, ASUS GT730-SL-2GD3-BRK, mod. Digitainergeh.       -   v3.5-64
VDR5: GIGABYTE GA-G31M-S2L, Intel E5200, GT630 passiv, 2GB, 3TB, 6"  t6963c gLCD, mod. Digitainergeh.          -   v3.5-64
VDR6: MSI MS-7236, Intel E2140, GT630 passiv, 2GB, WD Green 2TB, 6" t6963c gLCD, 2x TT3200    -    v2.5-64
Hilfe gefällig? Dann brauchen wir ein easyInfo aus easyPortal!
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste