$_FILES['file']['tmp_name'] leer trotz multipart
pete
- php
Hi alle!
Ich hab zwar bereits nach lösungen auf eurem Forum gesucht, und da ich nix gefunden habe schilder ich mal mein Problem.
Eine kleine Klasse geschrieben in PHP5 funktioniert auf jedem Server auf dem ich es bis jetzt liegen hatte bis auf einen, es geht darum ne News zu verfassen und in ne txt datei zu schreiben gleichzeitig wird ein Bild uugeloaded.
$_FILES['file']['name'] wird gesetzt, $_FILES['file']['tmp_name'] ist IMMER leer, und ja in der Form wurde enctype="multipart/form-data" gesetzt. Habs bereits mit move_uploaded_file UND mit copy versucht, bei Copy spuckt er mir wenigstens ne fehlermeldung aus, bei move_uploaded_file passiert genau gar nix, keine Fehlermeldung und kein Upload, wobei die Fehlermeldung bei copy so aussieht:
Warning: copy() [function.copy]: Unable to access DasBild.jpg in der/pfad/aufn/server/news.class.php5 on line 92
Hier der Code:
--> INFILE
if (!isset($_POST['submit'])) {$_POST['submit'] = ""; }
if ($_POST['submit']) {
$news = new newssys("news/news.txt","news");
if (isset($_FILES['file']['name'])&& $_FILES['file']['name'] != "") {
$image = time().".jpg";
$news->makeImage($image,$_FILES['file']['name']);
$news->save($_POST['title'],$_POST['text'],$image);
}
$news->save($_POST['title'],$_POST['text'],"");
}
-->INFILE
-->Klassenfunktion
public function makeImage($image, $file) {
$bildpfad = $this->c_path."/".$image;
copy($file,$image);
//move_uploaded_file($file,$image);
$size = GetImageSize($bildpfad);
if($size[2]==2) {
$quellbild = $bildpfad;
$info=getimagesize("$quellbild");
$breitalt=$info[0];
$hochalt=$info[1];
$breit="90";
$hoch=ceil($hochalt*$breit/$breitalt);
$bildalt=imagecreatefromjpeg($quellbild);
$bildneu=imagecreatetruecolor($breit,$hoch);
imagecopyresized($bildneu,$bildalt,0,0,0,0,$breit,$hoch,$breitalt,$hochalt);
imagejpeg($bildneu,$quellbild);
} else {
unlink($bildpfad);
$this->message("jpg");
}
}
--> Klassenfunktion
Danke
Lieber pete,
was sagt Dir ein print_r($_FILES) über die Array-Inhalte? Insbesondere die Fehlereinträge in $_FILES?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
öha auf das hab ich noch gar nicht gedacht... thx a lot ich hab jetzt zwar den fehler aber ich hab NULL schimmer wie ich das lösen könnt ?
(übrigens: ja .. es heisst copy($file,$bildpfad) ... funktioniert aber trotzdem nicht)
Hier das Array:
Array ( [file] => Array ( [name] => TestDrive_PC_big_2.jpg [type] => [tmp_name] => [error] => 6 [size] => 0 ) )
Woran könnt dieser error liegen ?
thx für die schnelle antwort :D
lg
Ist gelöst, Provider hatte auf dem phptmp verzeichnis falsche rechte gesetzt. Deswegen der Error. Danke fürn tipp mit print_r
Hi,
übrigens: ja .. es heisst copy($file,$bildpfad)
Nein, heisst es nicht. Es heisst move_uploaded_file().
(Das Manual weisst deutlich darauf hin, dass dieser Funktion fuer gerade hochgeladene Dateien der Vorzug gegenueber copy() zu geben ist.)
MfG ChrisB