Avatar billede kaspermb Nybegynder
05. april 2011 - 10:25 Der er 7 kommentarer og
1 løsning

Generere link efter mapper i FTP

Hej Eksperter

Jeg skal lave et script i PHP eller ander hvis muligt. Koden skal kunne generere link efter hvilke mapper der er i min FTP. Altså jeg har fx. en mappe som hedder "image" og i den mappe er der nogle andre mappe. disse mapper skal der så laves et link til.
Avatar billede tjens Nybegynder
05. april 2011 - 10:43 #1
Hvis din FTP server og din PHP server er den samme, er det ret ligetil.

Der findes masser af scripts, hvis du søger på php file manager
De kan dog meget mere end du efterspørger, men du kan downloade en og klippe lidt ud.

Jeg bruger selv en yderst simpel file manager, jeg fandt på nettet.

forsiden bl.a. indeholder denne kode:

<?php

// Include header and upload path
$title = 'File Manager';
include ('header.php');
include ('uploadpath.php');

// Get files in directory
$d = dir($path);
$files = array();
while (false !== ($file = $d->read())) {
    if ($file == '.' OR $file == '..') continue;
   
    $arr = array();
    $arr['name'] = $file;
    $arr['path'] = $d->path . $file;
    $arr['size'] = filesize($arr['path']);

    $files[] = $arr;
}

?>
<h2>Files</h2>

<?php if (count($files) == 0): ?>
    <p>There are no files yet. Upload a new one first.</p>
<?php else: ?>
    <table>
        <tr>
            <th>Name</th>
            <th>Size</th>
            <td colspan="3"> </td>
        </tr>

        <?php foreach($files as $file): ?>
            <tr>
                <td><?php echo htmlentities($file['name']); ?></td>
                <td>
                    <?php
                        // Format size:
                        if ($file['size'] > 1000) {
                            echo number_format(($file['size']/1024), 2) . ' KB';
                        } elseif ($file['size'] > 1000*1000) {
                            echo number_format(($file['size']/1024)/1024, 2) . ' MB';
                        } else {
                            echo $file['size'] . ' Bytes';
                        }
                    ?>
                </td>
                <td><a href="download.php?file=<?php echo urlencode($file['name']); ?>"><b>Download</b></a></td>
                <td><a href="edit.php?file=<?php echo urlencode($file['name']); ?>">Edit</a></td>
                <td><a href="delete.php?file=<?php echo urlencode($file['name']); ?>">Delete</a></td>
            </tr>
        <?php endforeach; ?>           

    </table>

<?php endif; ?>


Håber det bringer dig videre
Avatar billede kaspermb Nybegynder
05. april 2011 - 10:48 #2
Virker ikke helt melder denne fejl:

Fatal error: Call to a member function read() on a non-object in /home/magasens/public_html/admin/test.php on line 10

Og det er uden fejl koder for:

include ('header.php');
include ('uploadpath.php');
Avatar billede tjens Nybegynder
05. april 2011 - 11:19 #3
#2 jeg skrev bl.a., fordi koden ikke er komplet ;-)

Men slet de 2 includes, og skriv
$path = '../';
i stedet.

Og sæt selv html, head og body tags på rette sted, så tror jeg det kører.
Avatar billede kaspermb Nybegynder
05. april 2011 - 11:24 #4
Ja... ville det være muligt hvis du kunne poste

download.php
edit.php
delete.php
Avatar billede tjens Nybegynder
05. april 2011 - 11:50 #5
Jeg kan desværre ikke finde den download, jeg brugte, på nettet mere, og der er flere andre includes end dem du nævner.

Men hvis det er en File Manager du har brug for, synes jeg du skal finde en på nettet, så der stadig er support fra udvikleren.

Husk dog, at det er guf for hackere, hvis det er muligt at uploade php-scripts til din server, via en file manager. Så der skal også laves login og password beskyttelse. Her bruger jeg selv bare .htaccess i webserveren.

Ud fra spørgsmålet, havde du kun brug for en "directory lister", og det gør scriptet ovenfor vel allerede. Du kan bare fjerne "edit" og "delete" og lave "download" om til et direkte link.
Avatar billede tjens Nybegynder
05. april 2011 - 11:56 #6
Her er et eksempel på en nyere File Manager: http://www.solitude.dk/filethingie/

Jeg kender den dog ikke selv
Avatar billede kaspermb Nybegynder
05. april 2011 - 16:13 #7
Har nu fundet en måde og bruge din kode på.. Tak, smider du et svar... :)
Avatar billede tjens Nybegynder
05. april 2011 - 16:19 #8
OK, Hermed et svar.
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