Avatar billede plaq Nybegynder
10. august 2005 - 10:02 Der er 28 kommentarer og
1 løsning

fil liste med Select ?

hej

jeg skal lave en liste over filer i en mappe kan dette laves med <select> eller skal man have fat i noget andet??
Avatar billede jakobdo Ekspert
10. august 2005 - 10:40 #1
<?php
$dir = "DIT-DIR";

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        echo "<select name=\"filer\">;
        while (($file = readdir($dh)) !== false)
        {
            echo "<option>" . $file . "</option>";
        }
        closedir($dh);
        echo "</select>;
    }
}
?>
Avatar billede plaq Nybegynder
10. august 2005 - 10:41 #2
okey tak prøver lige om det virker
Avatar billede plaq Nybegynder
10. august 2005 - 10:50 #3
der kommer ikke noget <select> boks men den melder heller ikke fejl...
Avatar billede jakobdo Ekspert
10. august 2005 - 10:57 #4
Har du husket at sætte dit dir ind i: $dir = ....
Avatar billede plaq Nybegynder
10. august 2005 - 10:59 #5
<?php
$dir = "/inc/fil";
echo "test";
// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        echo "<select name='filer'>";
        while (($file = readdir($dh)) !== false)
        {
            echo "<option>" . $file . "</option>";
        }
        closedir($dh);
        echo " </select>";
    }
}
?>

echo"test" 

var bare for at tjekke om det var den rigtige side den henter for den bliker bare og så sker der ikke en skid..
Avatar billede jakobdo Ekspert
10. august 2005 - 11:47 #6
Test dette:

<?php
$dir = "/inc/fil";

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        echo "<select name='filer'>";
        while (($file = readdir($dh)) !== false)
        {
            echo "<option>" . $file . "</option>";
        }
        closedir($dh);
        echo " </select>";
    }
    else
    {
        echo "Failed to open dir: $dir";
    }
}
else
{
    echo "Not a dir: $dir";
}
?>
Avatar billede plaq Nybegynder
10. august 2005 - 11:51 #7
det er jo fint nu kommer der jo en fejl melding.. men hvad skal jeg gør den siger bare at det ikke virker men mappen den skal vise heder /inc/fil/
Avatar billede plaq Nybegynder
10. august 2005 - 11:53 #8
er der andre måder man kan lave lister af en mappe på serveren??
Avatar billede jakobdo Ekspert
10. august 2005 - 11:57 #9
Du skal muligvis have hele stien med til mappen.
Lave lige denne:
<?
phpinfo();
?>
Og så skal vi se hvad den fulde sti hedder til dit webhotel.
Avatar billede plaq Nybegynder
10. august 2005 - 12:00 #10
tror måske det her er problemet

Virtual Directory Support  disabled
Avatar billede jakobdo Ekspert
10. august 2005 - 12:03 #11
Det burde altså være ok!
Vender tilbage om lidt!
Avatar billede plaq Nybegynder
10. august 2005 - 12:04 #12
okey hvad er det du gerne vil have så kan jeg finde det til dig..
Avatar billede jakobdo Ekspert
10. august 2005 - 12:07 #13
Prøv at put denne fil i mappen: /inc/fil/

<?php
$dir = getcwd();

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        echo "<select name='filer'>";
        while (($file = readdir($dh)) !== false)
        {
            echo "<option>" . $file . "</option>";
        }
        closedir($dh);
        echo " </select>";
    }
    else
    {
        echo "Failed to open dir: $dir";
    }
}
else
{
    echo "Not a dir: $dir";
}
?>
Avatar billede jakobdo Ekspert
10. august 2005 - 12:08 #14
Evt find feltet: DOCUMENT_ROOT
Avatar billede plaq Nybegynder
10. august 2005 - 12:09 #15
skal den i mappen ?? hvad skal den det for??
Avatar billede plaq Nybegynder
10. august 2005 - 12:10 #16
nu virker det.. total fedt....
Avatar billede plaq Nybegynder
10. august 2005 - 12:11 #17
kan $dir = getcwd(); laves om til en anden mappe ??  den tager bare min rod..
Avatar billede plaq Nybegynder
10. august 2005 - 12:20 #18
getcwd()    finder stigen /customers/plaq.dk/plaq.dk/httpd.www hvordan finder jeg så den mappe jeg skal bruge??
Avatar billede jakobdo Ekspert
10. august 2005 - 13:15 #19
Det kommer an på hvor roden ligger og hvor mappen inc/fil ligger.
Hvis inc/fil ligger i roden, så kan du lave:

$dir = getcwd() . "/inc/fil";
Avatar billede plaq Nybegynder
10. august 2005 - 13:17 #20
denne her virker også.. $dir = "/customers/plaq.dk/plaq.dk/httpd.www/inc/fil";

kom med et svar så får du nogle points.. :)

Tak for hjælpen..
Avatar billede jakobdo Ekspert
10. august 2005 - 13:35 #21
Svar...
Tricket er ofte lige at finde den rette sti... :o)
Avatar billede plaq Nybegynder
10. august 2005 - 13:43 #22
ja men det kræver også at man finder en funktion som  getcwd()  og det er jo ikke alle der lige ved hvad den funktion som han/hun lige mangler heder
Avatar billede jakobdo Ekspert
10. august 2005 - 13:49 #23
Du kan jo godt lave det uden getcwd().
Du kunne måske også have lavet det på denne måde:

$dir = $_SERVER['DOCUMENT_ROOT'] . "/inc/fil";
Avatar billede jakobdo Ekspert
10. august 2005 - 13:49 #24
Takker for point!
Avatar billede plaq Nybegynder
10. august 2005 - 13:51 #25
jeg prøvede med men det virkede ikke..  så det var godt at du viste noget jeg ikke viste.. :P
Avatar billede plaq Nybegynder
10. august 2005 - 13:52 #26
du ved vel ikke hvordan man bruger php i et java script
Avatar billede jakobdo Ekspert
10. august 2005 - 13:54 #27
Du kan jo lave:

<script>
echo "php som skal bruges i scriptet";
</script>
Avatar billede plaq Nybegynder
10. august 2005 - 13:59 #28
<!-- her kommer java -->   
    <script language="javascript" type="text/javascript">
    function openImageWin() {
        strHtml  = '<html><title>Img win</title>';
        strHtml += '<body bgcolor="#808080" text=""#ffffff"><center>';
        strHtml += '<form onsubmit="parent.opener.writeImage(this.link.value,this.width.value,this.height.value);self.close();">';
        strHtml += 'Billed:<br>';
        strHtml += 'Width:<input type="text" name="width" size="4"><br>';
        strHtml += 'Height:<input type="text" name="height" size="4"><br>';
        strHtml += '<input type="submit" value="okay"></form></center></body></html>';
        imgWindow = window.open('','imgWin','top='+Math.round((screen.height/2)-100)+',left='+Math.round((screen.width/2)-65)+',width=200,height=130')
        imgWindow.document.open();
        imgWindow.document.write(strHtml);
        imgWindow.document.close();
       
    }
   
    function writeImage(sS,iW,iH) {
        document.all['edit'].focus();
        imgHtml = '<img src="'+sS+'" width="'+iW+'" height="'+iH+'" border="0">';
        document.selection.createRange().text = imgHtml;
    }
   
    function handle(sInput) {
        selTxt = document.selection.createRange()
        switch (sInput) {
            case "1":
                selTxt.text = '<u>'+ selTxt.text +'</u>';
                break;
            case "2":
                selTxt.text = '<i>'+ selTxt.text +'</i>';
                break;
            case "3":
                selTxt.text = '<b>'+ selTxt.text +'</b>';
                break;
            case "4":
                if (selTxt.text == '') {
                    openImageWin();
                } else {
                    alert('Når du indsætter billede kan du ikke makere tekst !!!');
                }
                break;
            case "5":
                selTxt.text = '<a href='+ selTxt.text +' target="_blank"> Synlig Tekst</a>';
                break;
            default:
                break;
        }
    }
    </script>


jeg skal sætte noget php ind  denne linje    strHtml += 'Billed:<br>';
men kik ind på http://eksperten.dk/spm/638978
Avatar billede jakobdo Ekspert
10. august 2005 - 14:05 #29
Har forsøgt...
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