Benötige Hilfe bei einem mp4-Puloadscript

  • Hallo ihr Lieben,
    bei der Modifizierung eines Upload Script für mp4-Dateien benötige ich dringend Hilfe.
    Ich habe das Script schon auf meine Bedürfnisse angepasst, aber in einem Punkt komme ich nicht weiter.

    Wahrscheinlich reichen meine Kenntnisse noch nicht aus, oder ich habe einfach ein Brett vor demk Kopf und sehe den Wald vor lauter Bäumen nicht:

    Im Moment ist die Größe der hochzuladenden mp4 Datei auf 2 MB beschränkt, was ja viel zu wenig ist.
    Ich möchte den mximalen Wert aber auf 100 MB festlegen und habe nicht die geringste Ahnung wie ich das bewerkstelligen kann.
    Ich hoffe sehr dass ihr mir helfen könnt.

    Liebe Grüße, Karin

    Hier das Script, bestehend aus upoad.php und file_upload_parser.php:

    upload.php

    <?
    /* Starseiten video mp4 einlesen */
    if ($handle = opendir('../images_customer/00/001')) {
    while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
    $video_mp4 = "../images_customer/00/001/".$file;
    }
    }
    }
    ?>

    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jque…3/jquery.min.js"></script>
    <script>
    /* Script written by Adam Khoury @ DevelopPHP.com */
    /* Modified by Philip Graf, 2015 */
    /* Modified by K. Schlegel, 2025 */

    function _(el){
    return document.getElementById(el);
    }
    function uploadFile(){
    var file = _("file1").files[0];
    if(typeof file === "undefined") {

    _("status").innerHTML = "Zuerst ein Video aussuchen";
    _("progressBar").value = 0;

    } else {

    $.get('file_upload_parser.php?getsize', function(sizelimit) {
    if(sizelimit > file.size) {

    var formdata = new FormData();
    formdata.append("file1", file);
    formdata.append("size", file.size);
    var ajax = new XMLHttpRequest();
    ajax.upload.addEventListener("progress", progressHandler, false);
    ajax.addEventListener("load", completeHandler, false);
    ajax.addEventListener("error", errorHandler, false);
    ajax.addEventListener("abort", abortHandler, false);
    ajax.open("POST", "file_upload_parser.php");
    ajax.send(formdata);
    } else {
    var sizewarn = "Das Video ist zu groß! Maximale Dateigröße: ";
    sizewarn += sizelimit/(1024*1024);
    sizewarn += "MB";
    _("status").innerHTML = sizewarn;
    _("progressBar").value = 0;

    }
    });
    }
    }
    function progressHandler(event){
    _("loaded_n_total").innerHTML = "Hochgeladen: "+event.loaded+" bytes von "+event.total;
    var percent = (event.loaded / event.total) * 100;
    _("progressBar").value = Math.round(percent);
    _("status").innerHTML = Math.round(percent)+"% hochladen... bitte warten";
    }
    function completeHandler(event){
    _("status").innerHTML = event.target.responseText;
    _("progressBar").value = 0;
    }
    function errorHandler(event){
    _("status").innerHTML = "Upload Failed";
    }
    function abortHandler(event){
    _("status").innerHTML = "Upload Aborted";
    }
    </script>
    <? /*
    <style>
    input[type=button] {
    background-color: orange;
    border: none;
    text-decoration: none;
    color: white;
    padding: 20px 20px;
    margin: 20px 20px;
    cursor: pointer;
    }
    input[type=file] {
    background-color: orange;
    border: none;
    text-decoration: none;
    color: white;
    padding: 20px 20px;
    margin: 20px 20px;
    cursor: pointer;
    }
    </style>
    */ ?>
    </head>
    <body bgcolor="grey">
    <table border="0" cellspacing="30" style="width:100%"><tr><td>

    <h2 style="color:white;font-family:arial,sans-serif">Sartseiten-Video hochladen</h2>
    <form id="upload_form" enctype="multipart/form-data" method="post">
    <div style="color:white;font-family:arial,sans-serif">
    <input type="file" name="file1" id="file1"></br>
    <input type="button" value="Datei hochladen" style="margin-top:20px;width:130px;height:20px" onclick="uploadFile()">
    <progress id="progressBar" value="0" max="100" style="width:300px;margin-top:20px;"></progress>
    <h3 id="status"></h3>
    <p id="loaded_n_total"></p>
    <div>
    </form>
    <center>
    </br></br></br></br>
    <a href="javascripT:top.close()" style="background-color:white;padding:4px;border-radius:4px;">Fenster schließen</a>
    </center>
    </center><br>
    </td></tr></table>
    <?
    // Dateien im Zielordner löschen
    $ordnername = "../images_customer/00/001/";
    function deleteFilesFromDirectory($ordnername){
    //überprüfen ob das Verzeichnis überhaupt existiert
    if (is_dir($ordnername)) {
    //echo $ordnername;
    //Ordner öffnen zur weiteren Bearbeitung
    if ($dh = opendir($ordnername)) {
    //Schleife, bis alle Files im Verzeichnis ausgelesen wurden
    while (($file = readdir($dh)) !== false) {
    //echo $file."</br>";
    //Oft werden auch die Standardordner . und .. ausgelesen, diese sollen ignoriert werden
    if ($file!="." AND $file !="..") {
    //Files vom Server entfernen
    unlink("".$ordnername."".$file."");

    }
    }
    //geöffnetes Verzeichnis wieder schließen
    closedir($dh);
    }
    }
    }

    //Funktionsaufruf - Directory immer mit endendem / angeben
    deleteFilesFromDirectory($ordnername);
    ?>

    </body>
    </html>

    file_upload_parser.php

    <?php
    /* Script written by Adam Khoury @ DevelopPHP.com */
    /* Modified by Philip Graf, 2015*/
    /* Modified by K. Schlegel, 2025 */

    $ini_PostSize = preg_replace("/[^0-9,.]/", "", ini_get('post_max_size'))*(1024*1024);
    $ini_FileSize = preg_replace("/[^0-9,.]/", "", ini_get('upload_max_filesize'))*(1024*1024);
    $maxFileSize = ($ini_PostSize<$ini_FileSize ? $ini_PostSize : $ini_FileSize);
    $file = (isset($_FILES["file1"]) ? $_FILES["file1"] : 0);

    if(isset($_GET["getsize"])) {
    echo $maxFileSize;
    exit;

    }
    if (!$file) { // if file not chosen

    if($file["size"]>$maxFileSize){
    die("Das Video ist zu groß. Die macimale Größe ist ".$maxFileSize/(1024*1024)."MB");
    }
    die("Bitte zuerst eine Datei auswählen");
    }
    if($file["error"]) {

    die("Die Datei konnte bnicht hochgeladen wertden");

    }
    if(move_uploaded_file($file["tmp_name"], "../images_customer/00/001/".$file["name"])){
    echo "Das Startseiten-Video wurde hoch geladen.";
    } else {
    echo "Das Video konnte nicht hoch geladen werden";
    }
    ?>

  • Guten Abend Karin und willkommen im Forum!

    Nicht so schön ist, dass dein Skript noch jQuery benutzt aber das wird die Funktion nicht beeinträchtigen.

    Die maximale Größe der hochgeladenen Datei wird durch die Einstellungen deines Servers begrenzt. Das Skript liest diese aus und vergleicht sie mit der Datei, die hoch geladen wird. Du musst mit deinem Provider sprechen ob es möglich ist, diese Werte in php.ini zu vergrößern.

    Ich wollte zunächst vorschlagen, die Werte mit ini_set zu vergrößern, aber das wird nicht gehen, siehe hier:

    https://stackoverflow.com/questions/2184513/change-the-maximum-upload-file-size

    Wenn Du auf diese Weise nicht zum Ziel kommst, melde dich wieder, möglicher Weise gibt es noch eine andere Möglichkeit.

    Zitat

    Vielleicht hat auch jemand von Euch ein weniger umfangreiches Script, das meine Anforderunge erfüllt

    Das Skript ist deshalb so umfangreich weil es relativ viel leistet, einschl. einer Anzeige des Fortschritts beim Hochladen. Wenn man das weg lässt, kann man es allerdings vereinfachen und auf fetch statt XMLHttpRequest umstellen.

  • SUPER !!!

    Ich konnte die php.ini meines Servers selbst bearbeiten und jetzt funktioniert es genau so wie gewünscht.

    Ihc danke nochmal von Herzen für Deine wahre Hilfe.

    Und nochnals herzliche Grüße, Karin

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!