Avatar billede spidr Nybegynder
19. januar 2005 - 15:29 Der er 17 kommentarer og
1 løsning

Kan ikke finde fejlen.

Når jeg udskriver koden nedefor ved hjaelp af dette link: show.php?mappe=../pics/Wallpapers/A/Adele%20Stevens
laver siden denne fejl:

Parse error: parse error, unexpected T_VARIABLE in /customers/goog.dk/goog.dk/httpd.www/pics/show.php on line 28

Og jeg kan ikke selv se hvad der er galt, så håbede nogen af jer eksperter kunne :)

Det kode skal er at gå ind og se om der er billeder i den mappe man henviser til i linket, og hvis der er så skal de udskrives eller skal der komme en meddelse om at siden er under konstruktion.


<center><table><tr>

<?php
$mappe = strip_tags($mappe);

function test_om_billed_dir( $dir ) {
    $billedextensions = array( ".jpg", ".jpeg", ".gif", ".tiff" )
    $dp = opendir($dir);
    $antal_billeder_fundet = 0;
    while (false !== ($fil = readdir($dp))) {
        if ( in_array( strtolower( substr( $fil, strrpos( $fil, '.' ) ) ),
                                    $billedextensions
                  )          ) {
            $antal_billeder_fundet++;
            if ( $antal_billeder_fundet = 2 ) {
                closedir($path);
                return true;  // ja det er en mappe med billeder
            }
        }
    }
    closedir($path);
    return false;    // der blev ikke fundet noget billede
}

if ( test_om_billed_dir( $_SERVER["DOCUMENT_ROOT"] ."/image/products/peopleId_1/" ) ) {


$sum = 3; // Antal billeder ved siden af hinanden

$sumcount = 1;

$imgwidth = 100; // Billedets bredde

$imgheight = 100; // Bileddets højde


$pr_side = 12; // Antal billeder pr. side


if (isset($_GET['offset'])) {

    $offset = $_GET['offset'];

} else {

    $offset = 0;

}

$pics = $offset+$pr_side;

$i = $offset;

# Laver et array med billederne, så vi senere kan sortere dem alfabetisk

$handle = opendir($mappe);

while (($fil = readdir($handle)) !== false) {
$efile = explode(".",$fil);
    if ($fil != "." && $fil != ".." && !is_dir($mappe."/".$fil) && $efile[1] != "php" && $efile[1] != "css" && $efile[1] != "db") {

        $billeder[] = "$fil";

    }

}

closedir($handle);


echo "$i - $pics / ".count($billeder)."<br>";

# Udskriver billederne

sort($billeder);
$billeder = array_reverse($billeder);

while($i < $pics && $billeder[$i] != "") {
$text = $billeder[$i];
$text = str_replace("_"," ", $text);
$text = str_replace("1","", $text);
$text = str_replace("2","", $text);
$text = str_replace("3","", $text);
$text = str_replace("4","", $text);
$text = str_replace("5","", $text);
$text = str_replace("6","", $text);
$text = str_replace("7","", $text);
$text = str_replace("8","", $text);
$text = str_replace("9","", $text);
$text = str_replace("0","", $text);
$text = str_replace(".jpg","", $text);
$text = str_replace(".gif","", $text);
$text = str_replace(".JPG","", $text);


    echo "<td><table><tr><td align=center width=\"150\"><a href=\"$mappe/$billeder[$i]\" target=_blank><img src=\"$mappe/small/$billeder[$i]\" border=\"0\" width=\"100\"><br>$text</td></a></tr></table></td>";

    if ($sumcount == $sum) {

        $sumcount = 0;

        echo "</tr><tr>";

    }

    $sumcount++;

    $i++;

}

print "</tr></table><br>Shift page: ";

#Udskriver frem og tilbage links

if ($offset >= $pr_side) {

    $forrige = $offset-$pr_side;

    echo "<a href=\"show.php?mappe=$mappe&offset=$forrige\"> Last</a> ";

}

for( $x=0; $x < count($billeder); $x+= $pr_side ) {
    if( $x >= $offset && $x < $offset+$pr_side )
        echo floor($x/$pr_side)."  ";
    else
        echo "<a href=\"show.php?mappe=$mappe&offset=$x\">".floor($x/$pr_side)."</a>  ";
}

if (count($billeder) > $offset+$pr_side) {

    $naeste = $offset+$pr_side;

    echo " <a href=\"show.php?mappe=$mappe&offset=$naeste\"> Next </a>";

}

} else {
    echo "Under construction"
}
?>

</center>
Avatar billede elskermad.dk Nybegynder
19. januar 2005 - 15:33 #1
du mangler en ; efter echo'en i din sidste else :)
Avatar billede elskermad.dk Nybegynder
19. januar 2005 - 15:34 #2
men nok ikke det der er svaret hehe
Avatar billede elskermad.dk Nybegynder
19. januar 2005 - 15:35 #3
du mangler os ; efter $billedextensions = array( ".jpg", ".jpeg", ".gif", ".tiff" ) øverst
Avatar billede spidr Nybegynder
19. januar 2005 - 15:36 #4
laver altid sådan nogle fejl, og kan aldrig finde dem :S
Avatar billede spidr Nybegynder
19. januar 2005 - 15:39 #5
nu skriver den:

Warning: opendir(/customers/goog.dk/goog.dk/httpd.www/image/products/peopleId_1/): failed to open dir: No such file or directory in /customers/goog.dk/goog.dk/httpd.www/pics/show.php on line 28

Warning: readdir(): supplied argument is not a valid Directory resource in /customers/goog.dk/goog.dk/httpd.www/pics/show.php on line 30

Warning: closedir(): supplied argument is not a valid Directory resource in /customers/goog.dk/goog.dk/httpd.www/pics/show.php on line 41
Under construction
Avatar billede spidr Nybegynder
19. januar 2005 - 15:44 #6
Så er jeg nede på :D
skulle lige skrive den rigtige mappe :S

Warning: closedir(): supplied argument is not a valid Directory resource in /customers/goog.dk/goog.dk/httpd.www/pics/show.php on line 36
Avatar billede jakoba Nybegynder
19. januar 2005 - 15:47 #7
du har glent at udskifte eksemplets mappe
      $_SERVER["DOCUMENT_ROOT"] ."/image/products/peopleId_1/"
med din egen
      $mappe

der du kalder funktionen. Det skal være:
if ( test_om_billed_dir( $mappe ) ) {
Avatar billede jakoba Nybegynder
19. januar 2005 - 15:49 #8
Det er en fejl jeg laved i fet forrige spm de 2 steder der står:
                closedir($path);
skal det ændres til:
                closedir($dp);
Avatar billede spidr Nybegynder
19. januar 2005 - 15:49 #9
Jep, har jeg rettet, så kom jeg ned på

Warning: closedir(): supplied argument is not a valid Directory resource in /customers/goog.dk/goog.dk/httpd.www/pics/show.php on line 36

og så fjernede jeg closedir() og så virkede det, men er closedir vigtigt?
Avatar billede spidr Nybegynder
19. januar 2005 - 15:49 #10
ok :)
Avatar billede spidr Nybegynder
16. februar 2005 - 17:44 #11
Lukker spørgsmmålet hvis ingen vil hvae points :D
Avatar billede spidr Nybegynder
16. februar 2005 - 17:46 #12
Lukker spørgsmmålet hvis ingen vil hvae points :D
Avatar billede elskermad.dk Nybegynder
16. februar 2005 - 18:29 #13
tjae du kan da dele lidt i mellem os :)
Avatar billede spidr Nybegynder
16. februar 2005 - 18:35 #14
<Jep da, derfor jeg ikke lukkede det ;)
Ville lige vente på i gav nogle svar ;)
Avatar billede spidr Nybegynder
16. februar 2005 - 18:36 #15
hmm weird, ville give dig 50 og så jacoba 50 når han gav svar :S men ehm veed ik om du fik det hele :S?
Avatar billede elskermad.dk Nybegynder
16. februar 2005 - 18:37 #16
nej da jeg skulle ikke have haft alle! jakoba skulle os ha haft nogle og hvis han ikke ville burde du have taget størstedelen - så meget havde jeg da ikke hjulpet!
vil du have nogen tilbage?
Avatar billede spidr Nybegynder
16. februar 2005 - 18:48 #17
nej det er ok,
men ved ikke helt hvad der skete, skrev du skulle have 50 :S

Pyt, jacob må klage hvis han vil have nogen, så skal jeg nok give ham ngoe :)
Avatar billede elskermad.dk Nybegynder
16. februar 2005 - 19:49 #18
hehe ja eksperten er underlig engang imellem ;)

men jeg siger tak for point - skal nok give 50 tilbage til jakoba hvis han vil have!

I må ha en god aften
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester