move_uploaded_file, $_FILE[""]..

caute ludkovia, spravil som script na upload suborov na server.. ale potom co som to prestahoval na plateny server tak mi to nechce ist.. najprv som to zapisoval klasika move_uploaded_file($file, "./nieco.jpg"); .. napriklad.. ale teraz ked posielam subor a dam echo $file; alebo Fputs($open, $file) .. ako to co posielam s formulara z input file nedokazem zobrazit, vsetke premenne ktore odosielam zobrazujem pomocou $moja_premenna = $_POST["moja_premanna"]; .. ale premenna $file nema ziadnu hodnotu.. pozeral som uz aj na $_FILE["file"]; .. ale to mi vracia len tak akurat nazov.. velkost suboru a jeho umiestnenie, ako zapisem hodnotu toho co som odoslal z <input type="file" .. btw dont worry, nezabudol som na enctype="multipart/form-data" .. help please
Třeba ti pomůže manuál - zkusil ses do něj podívat?
http://php.cz/manual/cs/features.file-upload.php

Abych se přiznal, zatím jsem upload souboru ještě nedělal, pač ho nebylo potřeba. I přesto hádám, že chyba bude asi v register_globals, tedy někde v poli $_FILE[].
pokud máš takový formulář:

<input type="file" name="soubor">

tak v proměnné

$_POST["soubor"]

bys měl najít umístění v dočasné složce

Jinak ale správně funguje toto

move_uploaded_file($_FILES['soubor']['tmp_name'], $_FILES['soubor']
['name']);

tedy pokud na tom servru nejsou nějaká omezení.
Jinak v manuálu je to hezky popsáno.
PS: ten druhej parametr samozřejmě můžeš doplnit svojí cestou nebo přepsat svým názvem.
hojte, ja bez problemu uploaduju timhle upload.php:


<form action="upload.php" method="post" enctype="multipart/form-data">
Send these files:<br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input type="submit" value="Send files">
</form>


<?
reset($_FILES['userfile']);
$i = 0;
do
{
echo $_FILES['userfile']['name'][$i];
move_uploaded_file($_FILES['userfile']['tmp_name'][$i],"./upload/".$_FILES['userfile']['name'][$i]);
$i++;
} while (next($_FILES['userfile']['tmp_name']));
?>
;-), a co kdyby ti nekdo (ne browser, samozrejme) dal do jmena souboru (to je to, co se vysytuje v $_FILES[...]['name'][$i]) treba '../index.php'? neprepise ti nahodou tvuj index.php?
reseni: v jmeu souboru nahrazovat znaky '/', '..', uvozovky a dalsi podtrzitkem nebo necim podobnym, nebo jeste lepe nechat jenom pismena, cisla, tecku (jednu), '_' a '-'