kostenloser Webspace werbefrei: lima-city


Datei-Upload Script mit Link-Ausgabe

lima-cityForumDie eigene HomepageHomepage Allgemein

  1. Autor dieses Themas

    werbeparadise

    werbeparadise hat kostenlosen Webspace.

    Hallo liebe Lima-City Community!

    Ich bin schon etwas länger auf der Suche nach einem Datei-Upload Script, das nach dem Upload einen Link ausspuckt, wie etwa file-upload.net. Ich denke, dass man dafür eine Datenbank braucht. Diese habe ich schon. Hab schon nach solch einem kostenlosen Script Google befragt, aber Google hat für mich keine brauchbaren Ergebnisse angezeigt. Kennt ihr solch ein Script, mit dem man Bilder und Dateien Uploaden kann und dann den Upload-Link bekommt?
    Würde mich sehr gerne über jede Antwort freuen :D
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

  4. Autor dieses Themas

    werbeparadise

    werbeparadise hat kostenlosen Webspace.

    marvinkleinmusic schrieb:
    Meinst du soetwas in der Art?

    http://marvinkleinmusic.bplaced.net/upload.php


    Ja genau das meinte ich! :D
  5. marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    <?php
    
    $ready = false;
    
    if(isset($_POST["upload"])){
    
    if($_POST["zippen"] == "ja"){
    
    $filename = $_FILES['datei']['name'];
    $dateiendung = "." . get_file_ext($filename);
    
    move_uploaded_file($_FILES['datei']['tmp_name'], "music/" . $filename); //music/durch Ordner ersetzen
    
    $zippath = "music/" . str_replace($dateiendung, "", $filename) . ".zip";
    
    $zip = new ZipArchive();
    
    if ($zip->open($zippath, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
    }
    
    $zip->addFile("music/" . $filename,$filename);
    $zip->close();
    
    $ready=true;
    
    unlink("uploadedimages/" . $filename); /// Ordner festlegung
    }else{
    $filename = $_FILES['datei']['name'];
    move_uploaded_file($_FILES['datei']['tmp_name'], "music/" . $filename);	
    
    $ready=true;
    }
    }
    
    function get_file_ext($name) 
    { 
    return (false === ( $p = strrpos($name, '.') ) ? '' : substr($name, ++$p));
    }  
    
    ?>
    
    <center>
    <fieldset style="width:200px;">
    <span style="font-weight:bold;font-size:18px">Datei Upload:</span>
    <hr/>
    <form method="post" enctype="multipart/form-data">
    <input type="file" name="datei" value="Durchsuchen"><br>
    <input type="checkbox" name="zippen" value="ja">Zippen?<br/>
    <input type="submit" value="Hochladen" name="upload">
    </form>
    </fieldset>
    </center>
    
    <?php
    
    if($ready == true){
    	
    if($_POST["zippen"] == "ja"){
    $filename=str_replace($dateiendung, "", $filename) . ".zip";
    }
    
    echo "<center><input type='text' style='width:250px' value='URL" . $filename . "'></center>"; //Value durch URL + Ordner ersetzen
    }
    
    
    ?>


    LG

    Beitrag zuletzt geändert: 30.3.2014 22:07:50 von marvinkleinmusic
  6. Hallo

    ich glaube das mit dem zippen (.zip) wird hier nicht funktionieren,
    weil .zip eine der hier auf Lima-City nicht erlaubten Datei-Endungen ist
    siehe dazu: HILFE - dateiformate auf webspace verboten



  7. Autor dieses Themas

    werbeparadise

    werbeparadise hat kostenlosen Webspace.

    marvinkleinmusic schrieb:
    <?php
    
    $ready = false;
    
    if(isset($_POST["upload"])){
    
    if($_POST["zippen"] == "ja"){
    
    $filename = $_FILES['datei']['name'];
    $dateiendung = "." . get_file_ext($filename);
    
    move_uploaded_file($_FILES['datei']['tmp_name'], "music/" . $filename); //music/durch Ordner ersetzen
    
    $zippath = "music/" . str_replace($dateiendung, "", $filename) . ".zip";
    
    $zip = new ZipArchive();
    
    if ($zip->open($zippath, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
    }
    
    $zip->addFile("music/" . $filename,$filename);
    $zip->close();
    
    $ready=true;
    
    unlink("uploadedimages/" . $filename); /// Ordner festlegung
    }else{
    $filename = $_FILES['datei']['name'];
    move_uploaded_file($_FILES['datei']['tmp_name'], "music/" . $filename);	
    
    $ready=true;
    }
    }
    
    function get_file_ext($name) 
    { 
    return (false === ( $p = strrpos($name, '.') ) ? '' : substr($name, ++$p));
    }  
    
    ?>
    
    <center>
    <fieldset style="width:200px;">
    <span style="font-weight:bold;font-size:18px">Datei Upload:</span>
    <hr/>
    <form method="post" enctype="multipart/form-data">
    <input type="file" name="datei" value="Durchsuchen"><br>
    <input type="checkbox" name="zippen" value="ja">Zippen?<br/>
    <input type="submit" value="Hochladen" name="upload">
    </form>
    </fieldset>
    </center>
    
    <?php
    
    if($ready == true){
    	
    if($_POST["zippen"] == "ja"){
    $filename=str_replace($dateiendung, "", $filename) . ".zip";
    }
    
    echo "<center><input type='text' style='width:250px' value='URL" . $filename . "'></center>"; //Value durch URL + Ordner ersetzen
    }
    
    
    ?>


    LG



    Vielen Dank, marvinkleinmusic! Du hast mir wirklich sehr weitergeholfen :D
  8. marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    trendweb schrieb:
    Hallo

    ich glaube das mit dem zippen (.zip) wird hier nicht funktionieren,
    weil .zip eine der hier auf Lima-City nicht erlaubten Datei-Endungen ist
    siehe dazu: HILFE - dateiformate auf webspace verboten






    Schon klar ich lasse dieses Script ja auch nicht auf Lima Laufen.

    Es ist ja so sogar möglich sachen auf anderen Servern hochzuladen Beispielsweise auf den Download Server.

    LG
  9. Autor dieses Themas

    werbeparadise

    werbeparadise hat kostenlosen Webspace.

    Gäbe es auch so etwas wie http://www.file-upload.net/? Also, dass dann ein automatisch generierter Link rauskommt, wie etwa http://www.file-upload.net/download-8831129/SHORTI-Banner.gif.html? Dass wenn jemand eine andere Datei mit dem gleichen Namen hochlädt, dass keine Datei ersetzt wird? Hab mich etwas erkundigt, alles was ich gefunden habe ist, dass man eine Datenbank dazu braucht. (Habe ich :D). Kennt da jemand so ein Skript? Mir ist erst im Nachhinein aufgefallen von dem Skript von marvinkleinmusic, dass wenn ich eine ganz andere Datei mit dem selben Namen hochlade, dass die alte ersetzt wird. Das soll aber nicht sein.

    Beitrag zuletzt geändert: 19.4.2014 12:47:49 von werbeparadise
  10. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Falls du etwas PHP kannst hast du so ein Skript auch schnell selbst geschrieben.

    Vorgehensweise:
    1) Der Benutzer lädt eine Datei hoch
    2) Das Skript weist der Datei einen rein zufälligen Namen zu, den es vorher noch nicht vergeben hat. Geeignet ist z.B. ein md5-Hash des Dateiinhaltes. Durch den Hash bekommst du auch gleich die Möglichkeit herauszufinden, ob die Datei bereits am Server liegt. Dadurch könnte Speicherplatz gespart werden … gegen Hash-Kollisionen solltest du dennoch prüfen.
    3) In die Datenbank wird der zufällige Dateiname + der vom Benutzer gewählte Dateiname eingetragen
    4) URL = "http://example.com/files/" + zufälliger Dateiname + "/" + echter Dateiname

    Der Download ist dann ebenfalls sehr einfach:
    1) eine .htaccess-Datei enthält Rewrite-Regeln, sodass
    ^/files/(.*)/(.*)$
    auf ein PHP-Skript umgeleitet wird
    2) Das PHP-Skript prüft, ob eine Datei mit der ID (beim Upload generierter Dateiname) existiert
    3) Das PHP-Skript sendet einen
    header('content-type: application/octet-stream');
    sowie einen Content-Disposition-Header mit dem echten Dateinamen, den es aus der Datenbank (oder der Anfrage) erhält.
    4) Zum Abschluss steht im PHP-Skript
    readfile($zufallsdateiname);


    Wie du erkennen kannst ist eine Datenbank nicht einmal zwingend erforderlich, es würde auch ohne funktionieren, dann kannst du allerdings keine Zusatzinfos wie den Zeitpunkt des Uploads, Anzahl der Downloads o.ä. zu jeder Datei speichern.

    Beitrag zuletzt geändert: 19.4.2014 13:17:35 von hackyourlife
  11. Autor dieses Themas

    werbeparadise

    werbeparadise hat kostenlosen Webspace.

    Also das mit dem
    hackyourlife schrieb:
    Falls du etwas PHP kannst hast du so ein Skript auch schnell selbst geschrieben.

    Ich kann leider kein PHP :-(
    Somit kann ich das Skript auch nicht selber schreiben :-(
  12. Vielleicht dann mal lernen?

    Ein Ansatz ist weiter oben doch schon beschrieben. Unter http://www.peterkropff.de/site/php/php.htm kannst du anfangen PHP zu lernen.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!