Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit dem Safari

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit dem Safari

    Hallo zusammen,

    ich habe ein ganz normales Formular. Von diesem lade ich Dateien hoch, die sowohl auf dem Server gespeichert werden als auch als Link in die Datenbank für spätere weitere Funktionen. Das funktioniert auch super via Chrome, FireFox und IE.

    Nur beim Safari funzt das nicht. Es speichert immer 0 Byte Dateien.

    Hier einmal das Skript welches ich laufen habe. Vielleicht hat ja wer ne Ahnung was ich falsch gemacht haben könnte oder worauf ich achten muss bei dem kack Safari. Danke schon einmal im vorraus.

    PHP-Code:
                            // HIER WIRD ZUNÄCHST DAS ARRAY GELADEN
                            // WENN DIE EXTENSION PASST WIRD DER INSERT IN DIE DB UND DER UPLOAD GEMACHT!    
                             
    foreach ($_FILES["files"]['name'] as $key => $value) {
                                if(
    trim($value) != ''){
                                    
    $acceptedFormats = array('gif''png','jpg','pdf','jpeg','odt','doc');
                                    if(!
    in_array(pathinfo($valuePATHINFO_EXTENSION), $acceptedFormats)) {
                                        
    #echo 'Error Datei nicht zulässig!';
                                    
    }else{
                                        
                                    
    //$fileName = $_FILES["files"]["name"][$i];
                                    
    $fileName $aktueller_datensatz.'-'.$value;
                                    
    $new_fileName 'blabliblupp.de/images/'.$fileName;
                                    
    $ret[$fileName]= $output_dir.$fileName;
                                    
    #print_r($ret);
                                    
                                    
    move_uploaded_file($_FILES["files"]["tmp_name"][$key],$output_dir.$fileName );
                                    
                                    
    $query " INSERT INTO `DB`.`XXX_bilder` (`bild_id`, `bild_anfrage_nr`, `bild_name`, `bild_timestamp`)
                                    VALUES (NULL, '
    $aktueller_datensatz', '$new_fileName', CURRENT_TIMESTAMP);";
                                    
    $db_erg mysqli_query$db_link$query );

                                    }
                                }
                            } 


  • #2
    niemand eine idee??? interpretiert safari vielleicht einige array's anders oder so? die ausgabe der array's sieht allerdings in ordnung aus.

    Kommentar


    • #3
      Dies ist PHP überlege doch mal bitte wo PHP ausgeführt wird (client oder server) dann kann man dir vielleicht helfen.

      Kommentar


      • #4
        auf dem webserver. aber bei ner simplen html form sollte nichts schief gehen.

        habe gerade mal ein wenig nachgelesen. das problem ist bei apple wohl bekannt und soll gefixt werden. dann warten wir einfach mal ab. die anderen browser funktionieren ja wunderbar.

        Kommentar


        • #5
          Zitat von Hansi19421 Beitrag anzeigen
          beim Safari funzt das nicht. Es speichert immer 0 Byte Dateien.
          Auf welchen Betriebsystem und welche Version von Safari hast du getestet?

          Kommentar


          • #6
            auf dem webserver. aber bei ner simplen html form sollte nichts schief gehen.
            Wenn das Problem beim Browser liegt, warum zeigst Du uns dann das Serverscript? Im Forum "HTML.."?!
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Zitat von Hansi19421 Beitrag anzeigen
              ... ich habe ein ganz normales Formular. Von diesem lade ich Dateien hoch, die sowohl auf dem Server gespeichert werden als auch als Link in die Datenbank für spätere weitere Funktionen. Das funktioniert auch super via Chrome, FireFox und IE.

              Nur beim Safari funzt das nicht. Es speichert immer 0 Byte Dateien.
              Welche sonstigen Fehlermeldungen gibt es? Ohne nähere Angaben kann man bestenfalls spekulieren:

              File-Uploading fails in Mobile Safari for iOS 8 (fixed in iOS 8.0.2)
              Dieser Fehler könnte alle Webkit-basierten Browser betreffen, nicht nur Safari.

              Workaround für HTML5-multiple-File-Upload-Bug in Safari
              Der Fehler ist schon über ein Jahr alt, möglicherweise wurde er schon behoben.

              Hier einmal das Skript welches ich laufen habe. Vielleicht hat ja wer ne Ahnung was ich falsch gemacht haben könnte ...
              Dein Versuch einer Dateitypprüfung weist bspw. "BILD.JPG" als ungültig ab.

              Und dass du Benutzereingaben nahezu ungeprüft in einen SQL-Query-String reinpopelst, lässt böswilligen Benutzern Raum für kreative Dateinamen-Experimente (Je nachdem, was ein Browser als Dateinamen so durchlässt).

              Beides hat nichts mit dem Browser zu tun, beeinträchtigt aber die Datensicherheit deiner Anwendung.
              Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

              Kommentar

              Lädt...
              X