Upload von Videos über Smartphone?

Dsimon24

Lieutenant
Registriert
Aug. 2016
Beiträge
595
Hallo zusammen,

ich hoffe, ich bin hier im richtigen Unterbereich des Forums.

Wenn ich über den folgenden Code (s.u.) versuche, ein Video hochzuladen, funktioniert es bei
Apple (iPhone oder iPad) super. 20 Sekunden sind in etwa 2MB groß. Bei Android sind´s dann
schon 20MB bis 50MB und es funktioniert nicht.

Vielleicht hat einer einen Tipp für mich, wie ich es auch bei Android realisieren kann?

Code:
<?php
    if ( $_FILES['uploaddatei']['name']  <> "" )
    {
        // Datei wurde durch HTML-Formular hochgeladen
        // und kann nun weiterverarbeitet werden
        move_uploaded_file (
            $_FILES['uploaddatei']['tmp_name'] ,
            'hochgeladenes/'. $_FILES['uploaddatei']['name'] );
    
        echo "<p>Hochladen war erfolgreich: ";
        echo '<a href="hochgeladenes/'. $_FILES['uploaddatei']['name'] .'">';
        echo 'hochgeladenes/'. $_FILES['uploaddatei']['name'];
        echo '</a>';
    }
?>

<html>
    <head>
        <title>Video-Upload</title>
    </head>

    <body>
        <form name="uploadformular" enctype="multipart/form-data" action="dateiupload.php" method="post">

            Datei: <input type="file" name="uploaddatei" size="60" maxlength="255">
            
            <input type="Submit" name="submit" value="Datei hochladen">
            
        </form>
    </body>
</html>

Ich weiß, Sicherheitsaspekte fehlen komplett.
Wollte es aber nur mal eben kurz testen.

VG, David
 
Mit Android oder iPhone hat das nix zu tun, sondern nur damit, wie groß deine Dateien sind, die du hochladen willst.
 
Du hast den Code direkt vor dir und laufen. Debugge eben.

Lass dir $_FILES ausgeben und guck nach, was bei Apple "korrekt" läuft und bei Android "nicht". Gegentest mit nem regulären Browser auf dem Desktop. Auch prüfst du überhaupt keine Fehlerindikatoren und nimmst einfach an, dass die Datei schon korrekt hochgeladen wurde.

https://www.php.net/manual/en/features.file-upload.errors.php
 
Das sind jetzt die Ausgaben von $_FILES bei drei Tests.
Der Fehler steht auf int-1 aber wie kann ich da heraus-
finden, wo genau der Fehler liegt?

Ist jetzt ein ca. 1MB großes Bild.

Android (Samsung):

array(1) {
["uploaddatei"]=> array(5) {
["name"]=> string(27) "15743267988192018783915.jpg"
["type"]=> string(0) ""
["tmp_name"]=> string(0) ""
["error"]=> int(1)
["size"]=> int(0) } }


Android (Huawei):

array(1) {
["uploaddatei"]=> array(5) {
["name"]=> string(36) "15743264424777075837529081452120.jpg"
["type"]=> string(0) ""
["tmp_name"]=> string(0) ""
["error"]=> int(1)
["size"]=> int(0) } }


iOS (iPad)

array(1) {
["uploaddatei"]=> array(5) {
["name"]=> string(9) "image.jpg"
["type"]=> string(10) "image/jpeg"
["tmp_name"]=> string(14) "/tmp/phpNkGZvY"
["error"]=> int(0)
["size"]=> int(2034578) } }

Hier kann die Upload-Größe definitiv nicht überschritten
sein, da das iPad ja auch Videos >10 - 20 MB hochläd.
 
Sorry, da war ich zu schnell.

Habt ihr denn Ideen, wie ich große Uploads dennoch realisieren kann bei Android?
Also klar, die entsprechenden Grenzen werde ich anpassen. Aber ich denke bei
30-50MB sieht´s 3G-4G-technisch mit dem Upload schon schlecht aus.

Ich weiß es nicht,
aber vielleicht gibt´s da entsprechende
Helpers bei Android oder dem Browser, dass die Verbindung nicht abbricht?

Oder eine Möglichkeit,
die die Files bei Android vor dem Upload verkleinert?

VG, David
 
Zuletzt bearbeitet:
Zurück
Oben