Tom: Upload-Form funktioniert nicht

Beitrag lesen

Hello,

<form name="form1" enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF; ?>" class="contactform">

<form name="form1" enctype="multipart/form-data" method="post" action="<? echo $_SERVER['SCRIPT_NAME']; ?>" class="contactform">

Nimm besser 'SCRIPT_NAME'

<input type="file" name="datei">
<input type="submit" name="button" value="Bild hochladen">

max_file_size kannst Du Dir schenken

<input type="hidden" name="max_file_size" value="1000000">

<input type="hidden" name="send" value="1">
</form>

if($_POST['send'] == 1) {

if(isset($_POST['send']) and $_POST['send'] == 1)
  {

## nur weitermachen, wenn File auch fehlerfrei hochgeladen wurde

if (isset($_FILES['error']) and $_FILES['error'] === 0)
    {

// Namen festlegen und speichern in $bildname
  $bildname = "pic_".$_POST['datei_name'].'_'.time();

Das ist gefährlich. Wenn, dann besser
    $bildname = "pic_".basename($_POST['datei_name']).'_'.time();

// MIME Prüfung
  if($_POST['datei_type'] == "image/jpeg" OR $datei_type == "image/x-png" OR $datei_type == "image/pjpeg"){}
  else { $error = 'mime'; }

Mime-Prüfung hat überhaupt keinen Sinn, wenn Du die Information vom Client benutzt.
Du musst sie dann schon auf dem Server selber durchführen
siehe hierzu
http://de3.php.net/manual/de/function.mime-content-type.php und
http://de3.php.net/manual/de/function.mime-content-type.php

// DateigröÃYe
  if($_POST['datei_size'] <= $_POST['max_file_size']) {}
  else { $error = 'size'; }

Woher kommt denn plötzlich $_POST['datei_size']?

// Kopiervorgang durchführen, bei Fehler melden
  if(!copy($_POST['datei'],'/../../resources/'.$bildname)) {
    $error = 'copy'; }
}

}

Leider schlägt der Kopiervorgang fehl... $error hat bei mir am Schluss immer den Wert 'copy'.

Woran kanns liegen?

Kann das sein, dass Du bisher überhaupt nicht selber versucht hast, den Fehler zu suchen?
Dein Error_Reporting scheint jedenfalls nicht aktiv zu sein, denn sonst hättest Du einige Notices kassiert und sicherlich danach gefragt, warum die da stehen...

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)