Matt: Einfacher Dateiupload

Beitrag lesen

Hallo,

mein einfacher Dateiupload mit PHP scheitert unter Safari.

In der Datei pdf.php kann man eine Datei auswählen welche dann bei Absendung an das Script pdf_handle.php weitergegeben und hochgeladen wird.

In Firefox und InternetExplorer funktioniert es, am Mac unter Safari bekomme ich jedoch folgende Fehlermeldung (öfters):

Notice: Undefined index: file in
xxx\pdf_handle.php on line 30

(Line 30 ist ab "// Datei in Ordner ablegen... copy($_FILES["file"]["tmp_name"]"
zudem findet kein Dateiupload statt.

Hier die Scripts:

pdf.php
------------------------------------------------------------

  
<form action="?site=pdf_handle" method="post" enctype="multipart/form-data" onsubmit="return zeigeBalken();" name="upload">  
<input name="file" type="file" class="formfield" size="40" />  
</form>  

pdf_handle.php
------------------------------------------------------------

  
error_reporting(E_ALL);  
if($_SERVER['REQUEST_METHOD'] == 'POST') {  
  
 // Prüfen ob Session Verzeichnis (Ordner) bereits existiert  
 if(file_exists('temp/'.session_id())) {  
  
  // Wenn Datei im Verzeichnis schon existiert, löschen  
  if(file_exists('temp/'.session_id().'/'.$_FILES["file"]["name"])) {  
     unlink('temp/'.session_id().'/'.$_FILES["file"]["name"]);  
  }  
  
  $fullname = explode('.', $_FILES["file"]["name"]);  
  $xml_file = 'temp/'.session_id().'/'.$fullname[0].'.xml';  
  
  // Wenn XML Datei existiert, löschen  
  if(file_exists($xml_file)) {  
   unlink($xml_file);  
  }  
 }  
  
 // Wenn Session Verzeichnis (Ordner) noch nicht existiert...  
 else {  
  
  // Session Verzeichnis (Ordner) anlegen  
  mkdir('temp/'.session_id());  
 }  
  
 // Datei in Ordner ablegen  
 copy($_FILES["file"]["tmp_name"], 'temp/'.session_id().'/'.$_FILES["file"]["name"]);  
  
}  

Kennt Safari etwa "tmp_name" nicht?