Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kertokaa mikä mättää

MikSor [15.02.2010 17:38:29]

#

Moi,

Kertokaa hyvät koodarit miksi tämä ei toimi ja herjaa seuraavaa,´:

<html>
<head>
</head>
<body bgcolor="#000000">
<?php
$polku = "/miksor"; // Kansio (ei kauttaviivaa perään). Laitetaan piste jos kuvat listataan samasta hakemistosta.
$sarakkeet = 3; // kuvat per rivi
$paate = array("jpg","gif","jpeg","png"); // Näytettävien kuvien päätteet
$leveys = 150; // thumbnailin leveys
$korkeus = 100; // thumbnailin korkeus
if(!$_GET['act']){
    $handle = glob("$polku/*");
    print "<center><table border=0><tr>";
    $i = 0;
    foreach($handle as $file){
        if(in_array(substr(strrchr($file,"."),1),$paate)){
            echo'<td>';
            echo'<a href="'.$_SERVER['PHP_SELF'].'?act=show&pic='.$file.'"><img src="'.$file.'" width="'.$leveys.'" height="'.$korkeus.'" border="0"></a>
            <span style="color: #FFFFFF; font-family: arial; font-size: 11px;">'.date("d.m.Y @ H:i:s",filemtime($file)).'</span>
            </td>';
            if($i++ % $sarakkeet == $sarakkeet-1){
                echo'</tr><tr>';
            }
        }
    }
    echo'</tr></table></center>';
}
if($_GET['act'] == "show" and $_GET['pic']){
    echo'<center>';
    echo'<a href="'.$_SERVER['HTTP_REFERER'].'"><img src="'.$_GET['pic'].'" border="0" alt=""></a><br>
    <span style="font-size: 11px; color: white;">Palaa thumbail kuviin klikkaamalla kuvaa</span>';
    echo'</center>';
}
?>
</body>
</html>

TÄTÄ SE VALITTAA;

Warning: Invalid argument supplied for foreach() in /mbnet/m/miksor/kuvat.php on line 15

Sitten tuota jos joku osaa tehdä tuollaisen tiedoston, jonka pitäisi hakemiston kuvat pienentää yhdelle sivulle niin antaa palaa vaan. Tuo ei toimi myöskään minun omalla domainillani, jolloin polku on seuraava "/";

apua apua!

temu92 [15.02.2010 17:48:53]

#

Foreachille syötetty nk. taulukko ($handle) ei olekaan taulukko. Tarkista että tuo glob palauttaa varmasti oikean ja oikeanlaisen arvon :P

Metabolix [15.02.2010 18:25:44]

#

Jos tiedostoja ei löydy, glob palauttaa totuusarvon false. Tarkista asia.

<?php
$t = glob($...);
if (!$t) $t = array();

Luultavasti vika on siinä, että polun edessä on virheellisesti /-merkki. Jos haluat viitata nykyisen hakemiston alihakemistoon, ota se pois. UNIX-järjestelmissä /-merkistä alkava polku tarkoittaa absoluuttista sijaintia, melkein kuin Windowsissa aloittaisi C:\.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta