Autor Zpráva
Tomasz
Profil *
dobrý den
mohl bych Vás zase požádat o radu?

měl jsem soubory ve složce /NOVE a teď jsem je přetahnul do kořenové složky. Vše funguje, jen mi nejede odkaz na galerii, píše mi to

Warning: usort() expects parameter 1 to be array, boolean given in /data/web/virtuals/333037/virtual/www/templates/galery.php on line 95

Warning: Invalid argument supplied for foreach() in /data/web/virtuals/333037/virtual/www/templates/galery.php on line 97


s tím souborem galery.php jsem ale nic nedělal
<script type="text/javascript">
$(document).ready(function() {
 
    $('#nahoru').click(function() {
            $('html, body').animate({scrollTop: '0px'}, 1000);
            return false;        
          });
});
</script>

<script type="text/javascript">
function toggle(obj) {
          var obj=document.getElementById(obj);
          if (obj.style.display == "block") obj.style.display = "none";
          else obj.style.display = "block";
}
</script>

<script type="text/javascript" src="jquery.lazy.min.js"></script>
<script type="text/javascript">
    $('.lazy').Lazy({
        // your configuration goes here
        scrollDirection: 'horizontal',
        effect: 'fadeIn',
        visibleOnly: true,
        delay: -1,
        onError: function(element) {
            console.log('error loading ' + element.data('src'));
        }
    });
    </script>
    <script>
        // [ Mobilní procházení galerie tahem prstu ]
        var touchNext, touch;
        function registerTouch(){
            let screens = document.getElementsByClassName('fancybox-overlay');
            if (screens.length>0){
                let screen=screens[0];
                screen.addEventListener("touchstart", handleStart);
                screen.addEventListener("touchend", handleEnd);
                /*screen.addEventListener("touchcancel", handleCancel);
                screen.addEventListener("touchmove", handleMove);*/
                
                function handleStart(e) {                    
                    touch=true;
                    var touchE = e.touches[0] || e.changedTouches[0];
                    // Značí z které strany (touchNext == true když začne táhnout v levo, == false v pravo)
                    touchNext=(touchE.clientX < screen.clientWidth/2);
                    console.log("Started on': "+touchNext);                    
                }
                
                function handleEnd(e) {
                    console.log(e);
                    touch=false;
                    var touchE = e.touches[0] || e.changedTouches[0];
                    // Značí z které strany končí táhnutí (touchNext == true když začne táhnout v levo, == false v pravo)
                    let touchNextFinish=(touchE.clientX<screen.clientWidth/2);
                    console.log("End on': "+touchNext);    
                    
                    if (touchNext!=touchNextFinish) {
                        
                        // Další obr
                        if (touchNextFinish){
                            let btnNext = document.getElementsByClassName('fancybox-nav fancybox-next')[0];
                            btnNext.click();
                        }
                        
                        // Předchozí obr
                        else{
                            let btnPrev = document.getElementsByClassName('fancybox-nav fancybox-prev')[0];
                            btnPrev.click();
                        }
                    }            
                }
            }
        }
    </script>
    
<center><h3><?php echo write("text"); ?></h3></center>

<center>
<?php 
    /*
        Tento kód projde složky v "galery", každá složka "galery" se jmenuje podle tvaru ("číslo + podtržítko + název pro funkci write()")
        V každé unikátní složce jsou obrázky, které se vypíší. Číslo může být od 0 po 9 (jednomístrné), podle něho se složky seřadí. 
        Podle názvu za podtžíkem se přiřadí popisce text podle jazyka.
    */

    // Projdi všechny složky v "galery"
    $scan = glob('../galery/*', GLOB_ONLYDIR);

    // Řazení podle čísla (název složky: "číslo + podtržítko + název pro funkci write()")
    usort($scan, function($a, $b) {
        return intval(substr(basename($a),0,1)) > intval(substr(basename($b),0,1));
    });

    foreach ($scan as $folder) {
        if (is_dir($folder)) {
            // Složky začínající podtržítkem ignoruj (pro účely zálohy, přípravy nové galerie, ...)            
            if (substr($folder,0,1)=="_") continue;
        
            $soubory = glob($folder."/*.*");
            
            // Řazení obrázků abc
            natsort($soubory);
            
            // Název složky
            $folderName=basename($folder);
            
            // Text který se má zobrazit
            $displayText="";            
            if (strlen($folderName)<=2) {
                // Krátký název složky
                $displayText="{".$folderName."}";
            } else {
                // Chybí podtržítko?
                if (strpos($folderName, "_")!=1) $displayText="{".$folderName."}";
                else {
                    // Název složky (za podtržítkem)
                    $folderName=substr($folderName, 2);
                    if (isset($languages[$lang][$folderName])) {
                        // Nejlepší možnost při zadání multijazyka
                        $displayText=write($folderName);
                    } else {
                        $displayText="{".$folderName."}";
                    }
                }
            }    

            // NÁZEV ALBA  - podle názvu složky
            echo '<div class="btnMedium" style="cursor: default;" data-folder='.$folder.'>'.$displayText.'</div>';
            echo "<div id='galeryTable'>";
            
            // Vypiš soubory ve složce
            foreach ($soubory as $soubor) {
                echo '<div class="gridgalery grow image-card zoom-effect-container"><a class="fancybox" rel="gallery1" href="/'.$soubor.'" title="">
                 <img loading="lazy" src="thubmail.php?src='.($soubor).'" data-src="/'. $soubor.'" class="lazy galeryphoto" alt="">
              </a></div>';
            }
            echo "</div><br/><br/>";
        }
    }
?>


<body><a href="#" id="nahoru"><?php echo write("nahoru"); ?></a></body>
<b>
</center>

dokazáli by jse mi PROSÍM někdo pomoci co s tím? děkuji předem
Keeehi
Profil
Zkus na řádku 90 smazat jednu z těch dvou teček před galery. Po úpravě by to mělo být './galery/*'
Tomasz
Profil *
bohužel nepomohlo :-(


zkoušel jsem i bez teček (pouze s lomítkem) a taky nic
RastyAmateur
Profil
Tomasz:
bohužel nepomohlo :-(
Ale ta chyba tam s největší pravděpodobností je. My neznáme adresářovou strukturu tvého projektu, takže si na to budeš muset asi přijít sám, ale zajímá tě cesta k té složce, ve které máš složku "gallery" s obrázky. Pokud už nemáš složku "gallery" s obrázky, pak v té cestě musíš nahradit i toto slovo.
Tomasz
Profil *
složka je stejná jako slovo, galery,

ja bohužel nevím kde hledat chybu :-(
dokázal by jste někdo prosím klidně i za poplatek se na to podívat, kdybych Vám poslal soubory?
RastyAmateur
Profil
Tak to nevím, očekával bych, že ./galery nebo ../galery bude fungovat. Můžeš ještě zkusit glob(__DIR__ . "/../galery/*")

Budeš muset zkusit trochu debugovat - zkus si vypsat obsah té proměnné $scan, pravděpodobně bude false, což znamená nějaký error. Co bych já dělal nadále, je, že bych si vypsal např. __DIR__, __FILE__, getcwd(), apod., případně tyto složky narval do té funkce glob(), abych se ujistil, kde se zrovna nacházím v té adresářové struktuře a kde pak tedy hledat tu složku galery.
Tomasz
Profil *
je to neuvěřitelné, něco jsem udělal ASI, nevím ale co :-(
ale jede to, a to je hlavní, takže děkuji všem

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0