uploading

Ahoj lidicky, mohli byste mi prosim poradit s uploadovanim souboru na server. Zkousel jsem toho dost, ale nemuzu s tim hnout. Proste a jednoduse si chci na sve stranky hodit <input type="file">, aby mohla nase tridni profesorka pridavat soubory na muj ucet (delam totiz tridni stranky). Jediny co me napadlo je udelat to pres prikaz copy(), ale bohuzel se to nedari. Predem diky za pomoc :-)
copy() nebude na upload fungovat. Pouzij move_uploaded_file()
Sojkovec >
copy() BUDE na upload fungovat, dokud jsem nezjistil, že existuje move_uploaded_file, používal jsem copy() a FUNGOVALO to. Mám tušení že jsem to viděl v Koskovi :-))))
Diky za novy prikaz, o kterem jsem nevedel (alespon si rozsirim vzdelani). Mam vsak jeste problem. Sice uz to nehlasi chybu, ale prozmenu nemam tuseni kam se to zkopirovalo. Tady je zdrojak, na kterym jsem to testoval. Treba tam je chyba:


<body>
<form method="post">
<input type="file" name="file">
<input type="submit" name="ok">
<?php

if ($ok) {
move_uploaded_file($file, "soubor.htm");
}

?>
</form>
</body>


Docela by me zajimala i ta verze s copy() - Koska bohuzel nevlastnim
http://tvorbawww.einstein.cz/clanek/upload-souboru-na-server-v-php/

a

<form method=post action="upload.php" enctype="multipart/form-data">
jo a tohle dej na stranku upload.php, jak ti to napsal Stanley
upload.php
======
<?php
if ($ok) {
move_uploaded_file($file, "soubor.htm");
}
?>
====
ja pouzivam copy(), - nevim, jak tahle fce funguje
Tom: safe_mode = on
Sojkovec: co?
S výchozím nastavením na WZ příkaz copy pro kopírování uploadnutých souborů funguje, to je prostě fakt ;-)
Tom: Ale na soubory uploadnute afaik do /tmp se pomoci copy() nedostanes. Tou se dostanes jen na soubory v ramci tveho uctu.
:-)
Kolikrát ti mám říkat, že jsem ještě nedávno prováděl upload souborů pomocí copy(). Opakuji - to je prostě fakt, že to funguje, mám to vyzkoušené.
Tom: nemelo by to jit. Ne tady na WZ, to bych se dost divil...
Sojkovec > tak jsem dokonce zjistil, že v jednom případě jsem to ještě nenahradil funkcí move_uploaded_file (zapomněl jsem na to že to používám ještě i tam).
Takže pointa zní:

Já to ještě pořád používám, používám copy() na uploadované soubory pomocí ipnut type=file a funguje to! Nebo to jak říkáš fungovat nemůže, ale v tom případě se dějí věci mezi nebem a zemí, protože ty soubory se normálně objeví tam kde mají být.
Mimochodem - řekni rozumný důvod, proč by copy() na uploadnuté soubory použít nemělo jít a move_uploaded_file() ano?
Manual:

bool move_uploaded_file ( string filename, string destination )

This function checks to ensure that the file designated by filename is a valid upload file (meaning that it was uploaded via PHP's HTTP POST upload mechanism). If the file is valid, it will be moved to the filename given by destination.
......

This sort of check is especially important if there is any chance that anything done with uploaded files could reveal their contents to the user, or even to other users on the same system.
Sojkovec > ano, to říká, že move_uploaded_file je bezpečnější, protože provádí ještě kontrolu, zda se jedná o uploadovaný soubor. Ale neopovídá to na mou otázku, proč by copy() podle tebe nemohlo fungovat když podle mě na 100 procent funguje (kdybych to neměl vyzkoušeno, netvrdil bych to tak jistě, jenže já to právě vyzkoušeno mám).