Bildupload auf mobilen Browsern macht Probleme!

Frank73

Mitglied
Hallo zusammen,

für ein Internetprojekt habe ich eine mobile Version in Arbeit. Dort soll ein Bildupload integriert sein.

Nun scheinen verschiedene Browser (zum Beispiel Opera Mobile) große Problem damit zu haben. Funktionieren muss es aber, da Facebook in seiner mobilen Seiten einen funktionierenden Bilderupload anbietet.

Vielleicht kennt ja jemand dieses Problem und kann einen hilfreichen Tipp geben?

Vielen Dank und liebe Grüße
 
Hi,

ich hab vor einiger Zeit mal eine Webseite für mobile Geräte gebaut, die auch eine Uploadfunktion hatte. Soweit ich mich erinnern kann habe ich da aber nichts anders gemacht als sonst auch. D.h. enctype im Formtag gesetzt, type des Inputtags auf file und das PHP Script selbstverständlich entsprechend.

Wie wirken sich die Probleme der Browser denn aus?

Best regards
 
Erstmal kurz der Code:

Formular
Code:
<form name="upload" method="POST" action="#" enctype="multipart/form-data">
<input type="hidden" name="action" value="upload">
<input name="myfile" type="file" id="fileupload"><br><br>
<input type="submit"  name="submitBtn" value="Foto Hochladen" id="button1">

PHP
Code:
if ($_POST["submitBtn"] == "Foto Hochladen") {
   $destination_path = getcwd().DIRECTORY_SEPARATOR;
   $result = 0;
   $target_path = $destination_path . basename( $_FILES['myfile']['name']);
   if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $originale.$fotoname)) {
      $result = 1; }

Auf einem PC Funktioniert das natürlich. Mit Handy Browsern gibt es aber Probleme. Er versucht die Datei hochzuladen. Das ganze dauert ewig - eine Datei wird auch nicht hochgeladen. Da ich die Datei im Anschluss weiterverarbeite, sprich verkleinere, meldet das Script unsupportet imageformat. (Muss ja, denn es ist ja nichts da was er verkleinern könnte.)

Das Interessante: Einige Browser scheinen das zu realisieren. (Der Browser von Nokia oder der UC Browser) andere wiederum (z.B. Opera Mobile) bringen oben genanntes Problem. Natürlich möchte ich, das es auf allen Browsern und Geräten funktioniert.

Vielleicht habe ich auch einen Denkfehler?
 
Wo wird denn $originale und $fotoname definiert? Für was definierst du $target_path wenn du es nicht verwendest?
 
Wo wird denn $originale und $fotoname definiert? Für was definierst du $target_path wenn du es nicht verwendest?

$fotoname = $_SESSION["kdnr"]."-".$timestamp.".jpg"; /// Bestimmung Name
$originale = "../bilder/originale/"; /// Speicherordner der Kundenlogos

$target_path ist in der Tat eine nutzlose Zeile. Liegt wiedermal daran, das ich den Code aus einem anderen Script geholt habe was ich mal für ein anderes Produkt hatte. Naja, vergessen zu löschen. Habe es aber raus genommen...

Im übrigen wir der Bildname richtig generiert, das Bild wird auch richtig hochgeladen - mit PC Browser gleich welcher Art - leider nur nicht mit verschiedenen Handybrowsern...
 
Und wenn du das @ vor dem move_uplaoded_file() wegnimmst, sollte es eine Fehler-ausgabe geben.
Was gibt diese denn zurück?
Ansonsten mal mit try/catch versuchen und die Exception ausgeben lassen.
 
Es wird kein Fehler ausgegeben. Ich habe jetzt nochmal hin und her Probiert. Aber immer ohne Erfolg. Offensichtlich geht das bei allen Browsern - nur der Opera Mobile spielt nicht mit. Habe es gerade auf 3 verschiedenen Handys probiert - überall das gleiche Problem.

Vermutlich liegt es am Opera - komisch nur, das es bei den Upload auf Facebook klappt. Eine kleine Ratlosigkeit macht sich breit :(
 
Zurück