
Navštíveno 9051x

v html klasika formulář pro upload souboru na server, tj. zjednodušeně
<form method="POST" enctype="multipart/form-data">
<input type="file" name="photofile">
<input type="submit" name="submit" value="Next step 2/4">
</form>
v PHP skriptu mám pak
$photo = $_POST["photofile"];
a když si udělám echo $photo_name, tak nemám název souboru. Zkoušel jsem místo $_POST i všelijaké REQUEST, FILES a ani prd. Prostě formulář mi type="file" nepřenese, type jako text apod. samo fungují v pohodě. No a samo, když to html a php hodím na jiný server, tak tam to běhá a přenáší soubory OK. A teď babo raď.
Může být někde v nastavení toho serveru, aby nepřenášel file z formuláře? Je to klasika server Apache.

17.01.2012, 08:08 |
choze A jak jsi to vyresil?
v php jsem misto $_POST použil $HTTP_POST_FILES a funguje to, záhada, všude jinde používám jen $_POST a nikdy nebyl problém

17.01.2012, 10:59 |
AR pro práci s přijatými soubory bys ale měl použít: $_FILE["photofile"] v této proměnné pak budeš mít jak název souboru tak i jeho temporary pozici pro zkopírování/zpracování
$all = array();
if (isset($GLOBALS["HTTP_GET_VARS"]))
$all = array_merge($all, $GLOBALS["HTTP_GET_VARS"]);
if (isset($_GET))
$all = array_merge($all, $_GET);
if (isset($GLOBALS["HTTP_POST_VARS"]))
$all = array_merge($all, $GLOBALS["HTTP_POST_VARS"]);
if (isset($_POST))
$all = array_merge($all, $_POST);
if (isset($GLOBALS["HTTP_COOKIE_VARS"]))
$all = array_merge($all, $GLOBALS["HTTP_COOKIE_VARS"]);
if (isset($_COOKIE))
$all = array_merge($all, $_COOKIE);
if (isset($GLOBALS["HTTP_POST_FILES"]))
$all = array_merge($all, $GLOBALS["HTTP_POST_FILES"]);
if (isset($_FILES))
$all = array_merge($all, $_FILES);
A mas to :-)
právě, že $_FILE tam nefunguje a nezjistil jsem proč, prošlo až to $HTTP_POST_FILES

17.01.2012, 12:51 |
AR $_FILE nebo $_FILES ?
FILES, jak jsem psal hned na začátku, je to podivný no, ale hlavně, že už to jede