Avatar billede c-skau Nybegynder
16. oktober 2004 - 17:53 Der er 22 kommentarer og
1 løsning

Debug mit mini script

Hejsa Eksperter

Jeg er helt ny inden for PHP men har lidt programmerings erfaring i forvejen så jeg har fået stykket et lille script sammen: http://www.zoneone.dk
Jee kan bare ikke få det til at virke. Det burde vise det nyeste gif billed i en mappe. Har brug for en der kan debuge den.
Avatar billede baitianlong Nybegynder
16. oktober 2004 - 18:02 #1
Du bliver jo nødt til at kopier noget kode herind :)
Avatar billede dizzim Nybegynder
16. oktober 2004 - 18:35 #2
Som sagt bliver ud lige nød til at poste din kode, for det andet skal dine sider slutte på .php lige nu bliver de alle sammen bare læst som ren html.
dvs. index.php istedet for index.html.
Avatar billede c-skau Nybegynder
16. oktober 2004 - 18:48 #3
Det var egentlig meningen at i bare kunne finde den i kilden men her har i den så:
<?php
    $count=0;
    $handle=opendir('.');

    while (($file=readdir($handle))"") {
        if(is_file($file)){

        $count++;
        }
    }
    closedir($handle);
    echo "<img src='.$count.'.gif>";
?>
Avatar billede baitianlong Nybegynder
16. oktober 2004 - 19:06 #4
er der en fil, der hedder 0.gif ? for så kan det være derfor, det går galt. Ellers vil jeg anbefale dig at skrive:

$handle = opendir($_SERVER['DOCUMENT_ROOT']);

Prøv også at udskrive tallene, for at se hvad der sker:

while(false !== ($file = readdir($handle))) {
  print($count++);
}
echo "<img src='.$count.'.gif>";
closedir($handle);

Hvad sker der så ?
Avatar billede c-skau Nybegynder
17. oktober 2004 - 17:38 #5
Det var meningen at den skulle kunne vise den nyeste fil i en given mappe.
Hvis der f.eks. var 23 filer i min mappe så skulle den vise 23.gif

Kan heller ikke forstå hvorfor at man kan se php'en i min kilde på min side, burde der ikke bare stå f.eks. <img src="23.gif"> ?
Avatar billede baitianlong Nybegynder
17. oktober 2004 - 17:45 #6
Læs dizzim's indlæg lidt oppe. Du SKAL kalde siden index.php og ikke inden.html for at php-koden bliver fortolket ;)
Avatar billede c-skau Nybegynder
17. oktober 2004 - 18:14 #7
Opdagede jeg også lige da jeg postet min kommentar :) sry
Avatar billede c-skau Nybegynder
17. oktober 2004 - 18:16 #8
nu er det gjort men nu kommer den med en fejl? http://www.zoneone.dk
Avatar billede baitianlong Nybegynder
17. oktober 2004 - 18:16 #9
Hvad står der så i linie 67 ?
Avatar billede c-skau Nybegynder
17. oktober 2004 - 18:40 #10
while (($file=readdir($handle))"") {
Avatar billede c-skau Nybegynder
17. oktober 2004 - 19:01 #11
Har selv rodet lidt med det og nu virker det endelig :D yes!
Takker for hjælpen alligevel! hmm.. hvem skal have pointene?

Her er det virkende script:

<?php
    $count=0;
    $handle=opendir('.');

    while (($file=readdir($handle))<>"") {
        if(is_file($file)){

        $count++;
        }
    }
    closedir($handle);
    echo "<img src='$count.gif'>";
?>
Avatar billede baitianlong Nybegynder
17. oktober 2004 - 19:31 #12
Du bør dog bruge denne kode til at rende directory'en igennem:

while(false !== ($file = readdir($handle)))

se... www.php.net/readdir

:)
Avatar billede c-skau Nybegynder
17. oktober 2004 - 20:45 #13
Done!
Men nu kom jeg til at rode med scriptet igen så nu virker det ikke igen :/
Jeg skal have ændret mappen den tæller i til /strips/ ???

<?php
    $count=0;
    $handle=opendir('.');

    while (false !== ($file = readdir($handle))) {
        if(is_file($file)){

        $count++;
        }
    }
    closedir($handle);
    echo "<img src='strips/$count.gif'>";
?>
Avatar billede baitianlong Nybegynder
17. oktober 2004 - 20:50 #14
Så burde det da være fint at skrive det i din opendir kommando:

$handle=opendir("strips");

Hvis strips er en mappe, der ligger samme sted som phpdokumentet, med funktionen :)
Avatar billede c-skau Nybegynder
17. oktober 2004 - 22:45 #15
Så fik jeg det testet efter serveren gik ned men det virker heller ikke :(
Avatar billede baitianlong Nybegynder
17. oktober 2004 - 22:53 #16
Hvilken fejl får du ?
Avatar billede c-skau Nybegynder
17. oktober 2004 - 22:59 #17
den vil åbene www.zoneone.dk/strips/0.gif hvilket betyder at den tæller i en mappe hvor der ingen filer er.
Avatar billede c-skau Nybegynder
17. oktober 2004 - 23:04 #18
hvis jeg laver en echo af $handle siger den: Resource id #2
Avatar billede baitianlong Nybegynder
17. oktober 2004 - 23:11 #19
Hvis den vil åbne www.zoneone.dk/strips er det vel ok ?? Eller hvad skal adressen være (i forhold til dokumentet)

$handle er jo også blot en ressource, et handle :)

Prøv at tilføje (for test):
while (false !== ($file = readdir($handle))) {
        if(is_file($file)){
        print $file; 
        $count++;
        }
Avatar billede c-skau Nybegynder
18. oktober 2004 - 16:58 #20
Har jeg testet og den skriver intet.

Billederne ligger i mappen www.zoneone.dk/strips og php'en ligger i www.zoneone.dk/
Avatar billede baitianlong Nybegynder
18. oktober 2004 - 18:37 #21
Prøv at droppe den der is_file og skriv:

<?php
    $count=0;
    if ($dir = @opendir("/strips")) {
        while (false !== ($file = readdir($handle))) {
            if($file != ".." && $file != "."){
                $count++;
            }
        }
    }
    echo "<img src='strips/$count.gif'>";
    closedir($dir);
?>
Avatar billede c-skau Nybegynder
18. oktober 2004 - 20:33 #22
Har lavet en lille rettelse i den og så virkede den :D YES!
Takker for hjælpen!

<?php
    $count=0;
    if ($dir = @opendir("strips/")) {
        while (false !== ($file = readdir($dir))) {
            if($file != ".." && $file != "."){
                $count++;
            }
        }
    }
    echo "<img src='strips/$count.gif'>";
    closedir($dir);
?>
Avatar billede baitianlong Nybegynder
18. oktober 2004 - 22:33 #23
Det er smukt -og tak for points :)
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