Wohin mit dem move_uploaded_file?

Smartsoul

Grünschnabel
Hi zusammen,

bin quasi absoluter Anfänger und habe ein Problem mit dem Verschieben von Dateien auf dem Server nach dem Upload. Der Upload funktioniert super und dann liegen die Files leider im phptmp-Ordner.

Habe nun gelesen, dass es die Funktion move_uploaded_file() gibt, bin aber auch nach intensivem Studium des Forums nicht ganz schlau geworden, wo ich die bei mir einbauen soll.

Mein Upload-Script sieht an der, wie ich denke, entscheidenden Stelle so aus:

Code:
        $picture = "fileup$num"."_name";
        $picture1 = $$picture;
        $picture2 = "fileup$num";
        $picture3 = $$picture2;
        if($picture3 != "none")
        {
            $filesizebtyes = filesize($picture3);
            $ok = 1;
            if($filesizebtyes < 10)
            {
                $error .= "Error uploading (file size lower than 10 bytes) for file $num<BR>";
                $ok = 2;
            }
            if(file_exists("$ADMIN[directory]/$picture1") OR $ok == 2)
            {
                $error .="File name already exists for file $num<BR>";
            } else {
                copy ($picture3, "$ADMIN[directory]/$picture1");
                $error .="File has been uploaded<BR>";
            }
        }

Kann mir jemand sagen, was zu tun ist, um hier die move_uploaded_file()-Funktion sinnvoll unterzubringen?

THX für eure Hilfe
 
Hallo!

Was bitteschön ist hieran nicht zu verstehen?!
PHP:
<?php 
// In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
// In PHP kleiner als 4.0.3 verwenden Sie copy() und is_uploaded_file() anstatt von
// move_uploaded_file()
 
$uploaddir = '/var/www/uploads/';
 
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
 
?>
Was move und copy heisst, weisst Du?
Wenn ja, dann hast Du dir die Frage schon selbst beantwortet.

Gross Dr Dau
 
Hallo Dr Dau,

zunächst mal danke für deine Mühe.

move = bewegen
copy = kopieren

Diese Stelle hatte ich natürlich auch schon entdeckt, aber für mich als Neuling und Autodidakt sind das noch relativ unverständliche Zusammenhänge. Du liest solche Skriptschnipsel wahrscheinlich seit Jahren nahezu täglich. Also bitte entschuldige meinen bedauerlichen Zustand der Unwissenheit.

"copy" und "move_uploaded_file" geht also gar nicht zusammen? Hab ich das wenigstens jetzt richtig heraus gelesen?
 
Smartsoul hat gesagt.:
.....Du liest solche Skriptschnipsel wahrscheinlich seit Jahren nahezu täglich.....
Nö, ich bin selbst grad ca. 7-8 Monate mit PHP zugange. ;)

"copy" und "move_uploaded_file" können nicht gemeinsam genutzt werden...... aber wahlweise.
Bei "copy" wird die Datei nur aus dem Tempordner in den Zielordner kopiert, bleibt also im Tempordner liegen..... wenn die Serverkonfiguartion den Tempordner nicht regelmässig leert.
Bei "move_uploade_file" wird die Datei verschoben, verschwindet also sofort durch die Abarbeitung des Scripts aus dem Tempordner.

Ersetze "copy" durch "move_uploaded_file".
 
Ersetze "copy" durch "move_uploaded_file".

Das war doch mal 'ne hilfreiche Ansage!

Vielen Dank auch! Werde mich bemühen beim nächsten Mal schon schlauer zu sein ;-)


Zum Schluss noch 'ne Anfänger-Frage:

Wo kann ich dieses Thema als beantwortet und erledigt markieren?
 
Hier ist halt mehr Eigeninitiative gefragt.

Dachte, nach ein paar Stunden Recherche hätte ich schon ausreichend davon gezeigt. Normalerweise bin ich nicht so schwer von Begriff, aber manche Texte sind in einem derart merkwürdigen Jargon geschrieben. Das erinnert teilweise an die Bedienungsanleitungen von Video-Rekordern und die habens echt in sich.

Aber ich will mich nicht beklagen sondern bedanken ;-)
 
Naja, das Problem an den Recherchen ist: sagen tut es jeder dass er gesucht hat, nur kann es niemand prüfen.
Da kommt bei solchen Fragen (zumal Du die Stichworte ja kennst) schnell der Verdacht auf, dass der Hilfesuchende einfach nur zu faul ist. ;)
 
Zurück