File-Upload

origin^sad

Mitglied
hi ich habe mir mal nen Uploadscript gebau nur uploaded er nicht :) hier das Script
PHP:
<?
if($action == "upload") {
$maximal = 25000; #### => 25kb
if((filesize($file) > $maximal)) {
$filesize = filesize($file);
print "File zu gross (>= 25 kb [$filesize] )"; }
elseif(($file_type != "image/gif")) {
print "Falscher Filetyp [$file_type]"; }
else {
@copy($file, "$DOCUMENT_ROOT/tests/forum/$file_name") or print "File was not uploaded"; #### => File Uploaden
 }
}
else {
print <<<EOF
<form enctype="multipart/form-data" action="$PHP_SELF" method="post">
<input type="hidden" name="action" value="upload" size="" maxlength="">
<input type="file" name="file"><br>
<input type="submit" value="Senden">
EOF;
}

?>

wo ist der Fehler ?

danke im vorraus :)
 
Ich noch mal

Ist Deine PHP-Version oder die Deines Hosters kleiner als 4.1.0 dann solltest Du "$HTTP_POST_FILES" verwenden, ist sie grösser dann kannste auch "$_FILES" anstatt "$HTTP_POST_FILES" verwenden.

MfG Cryo
 
das ist ja nicht das Problem das Problem ist einfach das das er nicht uploaded , d.h nicht auf dem server niederlegt (Variablen FUnktionieren) :(

habe es auch schon mit $HTTP_POST_VARS und $_FILES ausprobiert, sagt er mir nix anneres, zwar kein fehler aber auch keine geschriebene datei :(
 
unterstützt dein webspace auch upload per php? ich wollt auch sowas machen und es lief nicht. da meint mein provider, dass das geblockt wär (wegen sicherheit blablub).
 
Hallo,

also wenn ich recht informiert bin, dann stehen Dir die
Eigenschaften "Dateigröße" und "Dateityp" erst nach dem Upload auf
dem Server zur Verfügung.

Wenn Du diese vorher als Bedingung definierst wird's nicht
funktionieren weil die Variablen leer sind.

Überprüf's doch mal.

Ich werd Dir heute Abend mal ein funktionierendes Skript ins Forum stellen.
 
Hallo nochmal,

hier das versprochene Script, so wie es bei mir funktioniert (Webspace bei 1&1):


<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="20500">
<input type="file" name="userfile" size="30" accept="image/jpeg,image/gif,image/x-png">
<br><input type="submit" value="Upload">
</form>



// maximale Größe der Datei in Bytes
$maxFileSize = 10000;
// Stammverzeichnis des Servers
$StammVerz = "/homepages/11/d145283721/htdocs/";
// Upload Verzeichnis
$UpVerz = "upload";

if (!copy("/tmp/".basename($userfile),$StammVerz.$UpVerz."/".$userfile_name))
{echo "Meldung die Ausgegeben wird , wenn das nicht geklappt hat<br>";
echo "Dateiname: $userfile_name<br>Datei: $userfile<br>PHP Version: ";}
else
{echo "Upload beendet.<br>[variable]_name: $userfile_name<br>[variable]_size: $userfile_size Bytes<br>[variable]_type: $userfile_type<br>";}

if ($userfile_size > $maxFileSize){
echo "Datei ist zu Groß (max.: $maxFileSize Bytes)!<br>";
if(@unlink($StammVerz.$UpVerz."/".$userfile_name)) {echo "Datei wurde wieder gelöscht !<br>";}
else {echo "Fehler: Datei konnte nicht gelöscht werden !";}
}
 
Zurück