Upload funktioniert nicht

Hallo,

ich habe kostenlose Webspace auf xail.net Server und wollte Upload testen.

<?php echo""; echo""; echo""; echo""; $ordner="/daten/"; // Informationen zur Import-Datei: echo ""; echo "Angaben zur hochgeladenen Datei"; echo "Datei".$userfile\_name.""; echo "Groesse".$userfile\_size." Bytes"; echo "Dateityp".$userfile\_type.""; echo ""; // datei hochladen if (copy($userfile, $ordner.$userfile\_name)) { echo "Die Datei wurde fehlerfrei hochgeladen."; } else { echo "Die Datei konnte nicht hochgeladen werden."; } ?\> Es passiert gar nichts. nur meine eigene Meldung: „Die Datei konnte nicht hochgeladen werden“ auf einem anderen Server habe ich wenigstens Antwort: userfile = /tmp/phpBbmMTN pfad = Foto1.JPG Warning: copy(): open\_basedir restriction in effect. File(/daten/Foto1.JPG) is not within the allowed path(s): (/www/htdocs/v0xxxx/:/tmp:/usr/bin:/www/htdocs/v0xxxx:/bin:/usr/local/bin:/usr/share/php) in /www/htdocs/v0xxxx/auswahl.php on line 55 Warning: copy(/daten/Foto1.JPG): failed to open stream: Operation not permitted in /www/htdocs/v0xxxx/auswahl.php on line 55 danach Meldung von mir aus else Die Datei konnte nicht hochgeladen werden. Angaben zur hochgeladenen Datei Datei: Foto1.JPG Groesse: 62234 Bytes Dateityp: image/jpeg Was habe ich falsch gemacht?

moin

ich habe kostenlose Webspace auf xail.net Server und wollte
Upload testen.

woher kommt das Script? funktioniert es überhaupt irgendwo?

echo"";

sieht recht sinnlos aus diese Zeile…

if (copy($userfile, $ordner.$userfile_name))

wenn ich mich recht erinnere muss das eher sowas sein wie
$FILES[‚name_des_file_feldes‘][‚tmp_name‘]

http://www.php-faq.de/q/q-formular-upload-php4.html

auf einem anderen Server habe ich wenigstens Antwort:

error reporting im script anschalten…?

danach Meldung von mir aus else
Die Datei konnte nicht hochgeladen werden.
Angaben zur hochgeladenen Datei
Datei: Foto1.JPG

irrelevant

Groesse: 62234 Bytes

vmtl irrelevant

Dateityp: image/jpeg

irrelevant

Was habe ich falsch gemacht?

ich tippe auf ein schlechtes script…

Hallo,

setze die Zugriffsrechte bei dem Upload-Ordner auf 0777. Vielleicht hilft das schon.

Gruß

rena

Ich habe das Script geteilt, dh. auf Formular zum Auswahl -auswahl.html
und empfang.php

Die Daten vom ausgewählten Bild sind in empfang.php aufgenommen,
jedoch userfile und pfad werden vertauscht.
Irgend wo steckt der Wurm.

userfile = /tmp/phpKsDLsD
pfad = Foto1.JPG

Ich habe das Script geteilt, dh. auf Formular zum Auswahl
-auswahl.html
und empfang.php

das meinen die leute nicht; sie wollen wissen, ob dieses progrämmchen überhaupt irgendwo mal funktioniert hat!
denn ehrlich gesagt seh ich da auch nix, wie ich sonst uploads handhabe.

userfile = /tmp/phpKsDLsD
pfad = Foto1.JPG

so gesehn ist „userfile“ der tmp-name und „pfad“ der dateiname.
woher man die bekommt is mir allerdings schleierhaft!
ich empfehle konsultation von
http://de.php.net/manual/en/features.file-upload.php

besonders dieser teil:
_$_FILES[‚userfile‘][‚name‘]

The original name of the file on the client machine.

$_FILES[‚userfile‘][‚type‘]

The mime type of the file, if the browser provided this information. An example would be „image/gif“. This mime type is however not checked on the PHP side and therefore don’t take its value for granted.

$_FILES[‚userfile‘][‚size‘]

The size, in bytes, of the uploaded file.

$_FILES[‚userfile‘][‚tmp_name‘]

The temporary filename of the file in which the uploaded file was stored on the server.

$_FILES[‚userfile‘][‚error‘]_

damit kommt man weiter als mit diesen komischen variablen, die da im „script“ genutzt werden!

grüßle
Geisterkarle

Danke Geisterkarle,
die Code werde ich noch ausprobieren, jedoch zuerst möchte ich erfahren wo ein Fehler liegt.
Ich glaube rena hat auch recht.

sorry,
habe mich vertippt und der Pfad war einfach nicht da.

jetzt habe getestet empfang.php

// absolute Pfad zu Hauptverzeichnis
38. $ordner="/www/htdocs/vxxxx/test/";

  1. chmod($ordner, 0777);
    // für test
  2. echo "userfile = $userfile
    ";
  3. echo"pfad = " .$ordner.$userfile_name;

if (copy($userfile, $ordner.$userfile_name))
{
echo „Die Datei wurde fehlerfrei hochgeladen.“;
} else {
echo „Die Datei konnte nicht hochgeladen werden.“;
}

jetzt bekomme ich Antwort:

aus 62. userfile = /tmp/phpUMBi9j
aus 63. pfad = /www/htdocs/v093425/test/L.jpg

dann:
Warning: chmod(): Operation not permitted in /www/htdocs/vxxxx/empfang.php on line 61

Ich habe keine Erfahrung mit Server. Absolute Pfad eingeben? oder relativ zu „empfang.php“ ?
habe ich richtig chmod eingesetzt?

Hallo,

Dein Script darf nicht chmod’en, da er offensichtlich keine Schreibrechte auf den Ordner hat. Setze die Rechte mit einem FTP-Programm.

Gruß

rena

danke rena, Dein Tip war super.

Ich habe die Atributte für Ordner auf Wert 777 gestellt und alles klappt, hatte keine Ahnug dass es geht mit FTP zu ändern.

Grüße,

Lech

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]