ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Download/Upload script

Geschlossen
  1. #1
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    Hi Leute ich suche ein download + uploadscript. Die Uploads sollen in einer liste stehn und bei klick downloadbar sein. Folgende dateien sollen uploadbar sein:

    .amx , .pwn , .rar , .zip

    Danke schon mal im vorraus. Hoffe mir kann einer so ein script geben. Hab lange gegoogelt was gefunden aber ich versteh das nicht zunge

    PS. Meine Homepage: www.nsg-gkt.com


    verwendete ilchClan Version: 1.1

    betroffene Homepage: page.nsg-gkt.com
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    <?php
    defined ('main') or die ( 'no direct access' );
    $title = $allgAr['title'].' :: Upload';
    $hmenu = 'Upload';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    //Options
    $uploadordner = "include/downs/uploads/"; //Order für Uploads
    $extlimit = "yes"; //Do you want to limit the extensions of files uploaded, yes or no?
    $limitedext = array('.amx' , '.pwn' , '.rar' , '.zip'); //Extensions you want files uploaded limited to.
    $sizelimit = "yes"; //Do you want a size limit, yes or no?
    $sizebytes = "1000000"; //size limit in bytes
    $right = -1; //Recht ab dem das Verzeichnis sichtbar ist
    $upl_right = -4; //Recht ab dem User etwas hochladen können
    //Options End
    
    //Bei PHP4 auskommentieren
    /*function scandir($dir){
    $dh  = opendir($dir);
    while (false !== ($filename = readdir($dh))) $files[] = $filename;
    sort($files);
    return $files;
    }*/
    
    
    function short_string($string,$len=20)
    {
    if (strlen($string) <= $len) return $string;
    else {
    $len  = floor($len/2);
    $string = substr($string,0,$len-3).'...'.substr($string,$len*-1);
    return $string;
    }
    }
    
    
    if ($_SESSION['authright'] <= $upl_right) {
    $server = 'http://'.$_SERVER['HTTP_HOST'].str_replace('index.php','',$_SERVER['PHP_SELF']);
    
    //Upload
    if(!empty($_FILES['file']['name'])) {
    
    if (!file_exists($uploadordner)) {
    mkdir($uploadordner,0744) or die('Konnte kein Verzeichnis erstellen');
    }
    
    if (($sizelimit == "yes") && ($_FILES['file']['size'] > $sizebytes)) {
    echo "Die Datei ist zu gro&szlig;, sie darf maximal $sizebytes bytes sein.";
    }
    $ext = strrchr($_FILES['file']['name'],'.');
    $fname = escape($_FILES['file']['name'],'string');
    $fname = str_replace(' ','',$fname);
    if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) {
    echo "Der Dateiname hat eine nicht erlaubte Endung.";
    }
    //falls im Ordner der Name der Datei schon existiert, dann soll eine Fehlermeldung kommen.
    elseif (file_exists($uploadordner.$fname)) {
    echo "Der Dateiname existiert bereits. Bitte &auml;ndere deinen Dateinamen und versuche es nochmal.";
    }
    //ansonsten wird die Datei im Ordner images kopiert
    elseif ( move_uploaded_file($_FILES['file']['tmp_name'], $uploadordner.$fname) ){
    //chmod($uploadordner.$fname, 0755);
    $link = $server.$uploadordner.$fname;
    echo '<br />Link zu deiner Datei ist: <a href="'.$link.'">'.short_string($link,70).'</a><br /><br />';
    }
    }
    ?>
    <form name="mf" action="index.php?upload" method="post" enctype="multipart/form-data" style="border-style:dotted; border-width:medium; border">
    <table>
    <tr><td>Datei ausw&auml;hlen:</td><td><input type="file" name="file" value="durchsuchen"></td></tr>
    <tr><td><input type="submit" name="senden" value="Datei hochladen"></td></tr>
    </table>
    </form><br />
    <?
    //Datei löschen
    if ($menu->getA(1) == 'd' AND $_SESSION['authright'] <= -8) {
    $files = scandir($uploadordner);
    $filenr = $menu->getE(1) + 3;
    $del = unlink($uploadordner.$files[$filenr]);
    if ($del == TRUE) echo "Datei <b>{$files[$filenr]}</b> erfolgreich gel&ouml;scht<br />";
    else "Datei {$files[$menu->getE(1)]} konnte nicht gel&ouml;scht werden<br />";
    }
    } 
    if ($_SESSION['authright'] <= $right) {
    //Verzeichnisinhalt auflisten
    if (file_exists($uploadordner)) {
    $files = array_slice(scandir($uploadordner),3);
    echo "<b>Dateien in deinem Verzeichnis <a href=\"$server$uploadordner\">".short_string($server.$uploadordner,70)."</a>:</b>
    <table width=\"100%\">
    <tr class=\"Chead\" align=\"center\"><th>Dateien</th><th width=\"70\">Gr&ouml;&szlig;e</th><th width=\"50\">L&ouml;schen</th></tr>";
    foreach ($files as $filenr => $file)
    echo "<tr class=\"Cnorm\"><td><a href=\"$server$uploadordner$file\">".short_string($file,43)."</a></td><td align=\"right\">".round(filesize($uploadordner.$file)/1024,1)."K</td><td align=\"center\">".($_SESSION['authright']<=-8?"<a href=\"?upload-d$filenr\"><img src=\"include/images/icons/del.gif\" alt=\"L&ouml;schen\" border=\"0\" \></a>":'');
    echo "</table>";
    }
    else echo 'Verzeichnis ist leer.<br />';
    }
    else
    echo 'Diese Funktion steht für dich nicht zur Verfügung!<br />';
    $design->footer(); ?>

    Ich hoffe, dass ich keine Fehler beim Anpassen gemacht habe.


    Zuletzt modifiziert von Mairu am 05.08.2007 - 13:05:57
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    So habs nun eingefügt
    externer Link

    Zwei probleme. wenn man eingeloggt ist kommt:
    Diese funktion steht dir nicht zur verfügung.

    Wenn ich mich auslogge dann gehts. Kann man das anderst einstellen. bei login gehts bei logout nicht^^

    zum zweiten problem. hab was geuploadet doch sehe es nicht im verzeichnis. die php datei ist hier:
    /Page/include/contents/download.php

    der ordner in dem es upgeloadet wird. Hier:
    /uploads
    mit chmod 777 rechten.

    danke lächeln
    mfg
    Gangsta
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also die Datei muss upload.php heißen, und das mit den Recht war ein dummer Fehler, habe ich korrigiert.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    So jetzt kommt beim uploaden das:

    Warning: mkdir() [function.mkdir]: Permission denied in /var/kunden/webs/nsggkt/Page/include/contents/upload.php on line 45
    Konnte kein Verzeichnis erstellen


    und das mit dem rechten stimmt immer noch nicht traurig Wenn ich eingeloggt bin steht da nur: Das Verzeichnis ist leer. Ausgeloggt sieht man alles.


    EDIT: Hätte da noch ein weiteres problem. UNnd zwar wenn sie die User auf der Page registrieren erhalten die keine Bestätigungsmail mit Aktivierungslink. Wieso?^^


    Zuletzt modifiziert von Gangsta89 am 05.08.2007 - 12:29:39
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja also das mit dem mkdir kommt nur, wenn das Verzeichnis nicht existiert versucht er es anzulegen und dafür zuwenig Rechte hat kommt der Fehler, das andere war noch eine falsch benannte Variable, habe ich geändert.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    so jetzt müsste verzeichnis richtig eingestellt sein. Nun ein weiteres Problem. nachdem upload kommt das:

    Warning: move_uploaded_file(/var/kunden/webs/nsggkt/uploadsTocoToucan.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /var/kunden/webs/nsggkt/Page/include/contents/upload.php on line 62

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpa4qP59' to '/var/kunden/webs/nsggkt/uploadsTocoToucan.jpg' in /var/kunden/webs/nsggkt/Page/include/contents/upload.php on line 62


    Bitte auch antwort zu diesem Punkt hier:

    Hätte da noch ein weiteres problem. UNnd zwar wenn sie die User auf der Page registrieren erhalten die keine Bestätigungsmail mit Aktivierungslink. Wieso?^^

    Danke lächeln


    Zuletzt modifiziert von Gangsta89 am 05.08.2007 - 15:42:09
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Hast du vielleicht kein / bei deinem Uploadordner dahinter angegeben?

    Zu dem anderen Problem, vielleicht ist dein Webspace nicht emailfähig, kannst du über das Kontaktformular ja mal testen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    so das hab ich als URL angegeben. Upload funzt nun aber download nicht lol

    /var/kunden/webs/nsggkt/uploads/
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja eigentlich sollte man da nur den pfad von der index.php aus angeben, du kannst versuchen in der href das $server mal rauszunehmen, ansonsten halt mal schauen, auf was verlinkt wird, wäre bei der Fehlersuche behilflich.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    hab den pfad auf das nun geändert:

    /include/Uploads/

    Jetzt funzt wieder gar nichts menno. Hast du vllt. ICQ? Ich denke darüber würde es schneller gehn lächeln

    Wie meinst du das mit href wo find ich das?
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Schau doch mal in den Code da steht kein / vor include und daran wirds auch liegen, weiter ist Groß und Kleinschreibung relevant, das mit den href findet man im übrigen mit der Suche im Editor, da sollte es nicht so viele geben, oder du kannst bei $server = '...'; einen richtigen Pfad angeben, es kommt anscheinend vor, dass da was falsches Zustande kommst, aber eigentlich sollte es dann gehen, wenn du das / entfernt hast, hoffe ich.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    Danke es lag am / Funzt nun einwandfrei lächeln
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    so funzt alles nur^^ Das mit den rechten. Als Gast gehts gar nicht. Als User sieht man ein paar zeilen. Als admin geht alles. Kannst du das für user auch einstellen das die hochladen und runterladen können. Aber die sollen nicht lsöchen können lächeln

    danke
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Das kannst du alles selbst einstellen, ist extra oben ein Einstellungsteil, löschen kann Co-Admin und Admin.

    EDIT: Also im Quelltext.


    Zuletzt modifiziert von Mairu am 05.08.2007 - 18:45:02
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Gangsta89 Mitglied
    Registriert seit
    04.08.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    Einstellung geht hier?:
    //Options
    $uploadordner = "Uploads/"; //Ordner für Uploads
    $extlimit = "yes"; //Do you want to limit the extensions of files uploaded, yes or no?
    $limitedext = array('.amx' , '.pwn' , '.rar' , '.zip'); //Extensions you want files uploaded limited to.
    $sizelimit = "no"; //Do you want a size limit, yes or no?
    $sizebytes = "10000000000"; //size limit in bytes
    $right = -1; //Recht ab dem das Verzeichnis sichtbar ist
    $upl_right = -4; //Recht ab dem User etwas hochladen können
    //Options End

    was muss umgestelt werden?
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    Probier es doch selber mal ^^ vieleicht mit >
    $upl_right = -4; //Recht ab dem User etwas hochladen können

    0 = Gast
    -1 = User
    -8 = CoAdmin
    -9 = Admin

    Den Rest kenn ich leider nicht auswendig ^^
    Aber das mit dem Löschen gebe ich keine Garantie habe mir den quelltext nich angeschaut ^^


    Zuletzt modifiziert von Balthazar3k am 06.08.2007 - 01:36:38
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    IceT33 Mitglied
    Registriert seit
    22.10.2005
    Beiträge
    607
    Beitragswertungen
    9 Beitragspunkte
    hat sich erledigt ... keine Sonderzeichen im Name


    Zuletzt modifiziert von IceT33 am 07.08.2007 - 22:09:03
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten