Upload Script - JPG KEIN Upload möglich

Radanua

Mitglied
Hallihallo liebe Tutorials Gemeinde,
wie ihr seht bin ich neu hier und hoffe das ich sofort ins richtige Forum gefunden habe (Wovon ich stark ausgehe ;)! ).
Ich habe ein kleines Problemchen.. unszwar habe ich ein kleines Upload Script geschrieben, bei dem ich keine Dateitypen filtere. FAZIT: Alles kann ich Uploaden. (Soweit ich weiß)..
Jetzt jedoch sagt dieser mir die Fehlermeldung im else aus, die besagt das ein Fehler beim upload aufgetreten ist. Ich hoffe ihr könnt mir weiterhelfen, sodass ich so bald wie möglich meine JPG Dateien auch auf dem Server hochladen kann.

HTML:
<form enctype="multipart/form-data" action="index.php?site=updata" method="POST">
Dateibeschreibung: <input type="text" name="desc"><br><br>
Datei: <input name="uploadedfile" type="file" /><br><br>
<input type="submit" name="action" value="UPLOAD" />
</form><br>

PHP:
if($_POST['action'] == "UPLOAD"){
if($_POST['desc'] == ""){
 echo "Bitte Dateibeschreibung angeben!";
} else {

$target_path = "ressources/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
      echo "Datei ".basename( $_FILES['uploadedfile']['name'])." wurde hochgeladen.";
      $sql = mysql_query("INSERT INTO upload_data (`dataname`, `datadesc`) VALUES ('".basename( $_FILES['uploadedfile']['name'])."', '".$_POST['desc']."')");
    } else{
        echo "Fehler beim hochladen.";
    }
  }
 }


Mit einem freundlichen Gruß:
Radanua
 

String

Erfahrenes Mitglied
Ich vermute es liegt am basename() - Das brauchst du beim Upload nicht, da in $_FILES[]['name'] nur der Name steht und nicht der Pfad zur Datei :)

paD
 

Radanua

Mitglied
Hmm.. :(..
Er zeigt mir immernoch an.. das ein Fehler beim Upload besteht...

PHP:
if($_POST['action'] == "UPLOAD"){
if($_POST['desc'] == ""){
 echo "Bitte Dateibeschreibung angeben!";
} else {

$target_path = "ressources/";
$target_path = $target_path.$_FILES['uploadedfile']['name']; 
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
      echo "Datei ".$_FILES['uploadedfile']['name']." wurde hochgeladen.";
      $sql = mysql_query("INSERT INTO upload_data (`dataname`, `datadesc`) VALUES ('".$_FILES['uploadedfile']['name']."', '".$_POST['desc']."')");
    } else{
        echo "Fehler beim hochladen.";
    }
  }
 }
 

String

Erfahrenes Mitglied
Hast du vllt. keine Rechte um Dateien in dem Ordner zu laden?
(chmod?)

Sonst könnte ich es mir fast nicht erklären..
 

Sven Mintel

Mitglied
Moin,

aktiviere mal dein [phpf]error_reporting[/phpf] während der Entwicklungsphase(sollte man eigentlich immer tun).

Ich würde da auch dasselbe wie String vermuten, bei aktiviertem error_reporting solltest du eine diesbetreffende Fehlermeldung bekommen.
 

Radanua

Mitglied
Habe ich schon getan.
Error Reporting gab mir keine Fehlermeldung aus und Display Errors ebenfalls.
CHMOD Rechte vergeben, da mach ich mir auch keine Sorgen, da ich ja andere Dateitypen Hochladen kann und diese ins entsprechende Verzeichnis verschoben werden.
 

Sven Mintel

Mitglied
Diese JPGs....wie gross sind die(Dateigrösse) ?

Lasse dir mal $_FILES['uploadedfile']['error'] ausgeben, was liefert das?
 

Radanua

Mitglied
okay ? Habe ich getan.. es hat sich auch was getan bei mir..
Uns zwar.. zeigt der mir nun ne 2 an.. ? ... :D
I-wie witzig.. denn keine Ahnung was die bedeuten soll.. ?
Ich schau mich mal eben was auf der PHP Seite um.. ;)..
Außer einer ist schneller wie ich beim schauen.. ;)!

EDIT:
okay.. weiß nun was es ist.. jedoch ist die datei nicht größer wie 200 KB .. o_O? und ne PNG die 400 KB ist.. kann ich uploaden ?

EDIT 2:
ES GEHT :) ICH DANKE EUCH :)!

Lg
Radanua
 
Zuletzt bearbeitet:

Radanua

Mitglied
Ich habe gesehen das der Wert in dem Input MAX_FILE_SIZE Feld in Byte angegeben ist.. so.. und dann kam ich mal auf die Idee.. 2 MB in Byte um zurechnen.. und da kamen wesentlich mehr bei raus.. als ich in dem Input Feld eingetragen hatte.
Schwuppdiwupp.. hatte ich das Ergebnis vor meinen Augen.. ;)
Die erlösende Meldung
-> IHRE DATEI WURDE HOCH GELADEN <-
erschien auf meinem Monitor!
Gott hat meine Gebete erhört.. !! (Obwohl ich eher sündigen war.. :/!)


Danke für eure Hilfe ;)!