move_uploaded_file funktioniert nicht

ICPUI

Mitglied
Hallo
Ich habe das Problem, dass bei meinem Script der Upload ned geht!
Hier der Quellcode für das Formular:
HTML:
<form enctype="multipart/form-data" onsubmit="return check()" name="upload" method="POST" action="index.php?do=upload">
<input type="hidden" name="public_2" value="<?echo$_POST['public']?>">
<table width="70%" align="center">
	<tr>
		<td width="50%">
		Datei: 
		</td>
		<td width="50%">
		<input type="file" name="file">
		</td>
	</tr>
	<tr>
	<td colspan="2"><center><input type="submit" value="Upload abschliessen"></center></td>
	</tr>
</table>
</form>

Und dann hier der Quellcode des Uploads:
PHP:
$uploaddir = "/srv/www/htdocs/web32/html/uploads/";
$pathinfo = pathinfo($_FILES['file']['name']);
$dateiendung = $pathinfo["extension"];
$rand = rand(1000, 9999);
$pfad = "".time()."$rand.$dateiendung";
echo "".$uploaddir . "".time()."$rand.$dateiendung";
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir . "".time()."$rand.$dateiendung")){

Danke jetzt schon für die hoffentliche schnelle Hilfe :)
mfg
ICPUI
 
Das Problem scheint Deine IF-Bedingung zu sein?
PHP:
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir . "".time()."$rand.$dateiendung")){
Meinst Du das evtl. so?
PHP:
if(move_uploaded_file($_FILES['file']['tmp_name']== $uploaddir . "".time()."$rand.$dateiendung")){
 
RS9999 hat gesagt.:
Meinst Du das evtl. so?
PHP:
if(move_uploaded_file($_FILES['file']['tmp_name']== $uploaddir . "".time()."$rand.$dateiendung")){
Das würde einen Parameterfehler geben, weil die Funktion move_uploaded_file() keinen bool'schen Wert als Parameter erwartet.

Du solltest 1) error_reporting(E_ALL) in die erste Zeile deines Scripts schreiben um alle Fehlermeldungen zu erhalten und diese hier dann auch angeben!

2) solltest du statt time() zu benutzen eine Variable anlegen, in der du die Zeit speicherst. Die Ausgabe von time() kann sich während des Scripts ändern!
 
Probier mal Folgendes:
PHP:
<?php

	// Erhöhung der Fehlemeldungssensibilität
	ini_set('display_errors', true);
	error_reporting(E_ALL);

	$pathinfo = pathinfo($_FILES['file']['name']);
	$dstDir = '/srv/www/htdocs/web32/html/uploads/';
	$dstFilename = time().rand(1000, 9999).$pathinfo['extension'];

	echo 'Zielpfad: '.$dstDir.$dstFilename;
	if( move_uploaded_file($_FILES['file']['tmp_name'], $dstDir.dstFilename) ) {
		…
	}

?>
 
Ja genau das war das Problem :)
move_uploaded_file gab weder True noch False zurück!
Thx für dei schnelle Hilfe
mfg
ICPUI
 
Zurück