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/";
- chmod($ordner, 0777);
// für test
- echo "userfile = $userfile
";
- 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]