[PR][PHP] Problem z uploadowaniem pliku...

0

Mam coś takiego:
Formularzyk w HTML'u do upladu plików:

<HTML>
<HEAD>
<TITLE>TMP Form</TITLE>
</HEAD>
<BODY>
<FORM ACTION="http://localhost/cvs/tmpfileinterpreter.php" METHOD="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="102400" />
<INPUT TYPE="file" name="pliczek" />
<INPUT TYPE="submit" VALUE="Wyślij" />
</FORM>
</BODY>
</HTML>

Oraz skrypcik tmpfileinterpreter.php:

<?
move_uploaded_file($_FILES['pliczek']['tmp_name'], './'.basename($_FILES['pliczek']['tmp_name']));
echo('Plik wgrany!');
?>

Nie ważne, że tam nie ma odpowienich nagłówków itp. I teraz pytanie, dlaczego przy próbie wgrania jakiegoś pliku na serwer, dostaję błąd: Notice: Undefined index: pliczek in d:\program files\easyphp1-7\www\cvs\tmpfileinterpreter.php on line 2?? Wiem, że to nie jest błąd jako taki, tylko notice, ale to nie zmienia faktu, że plik się nie upladuje, więc coś jest nie tak...
P.S. Wygląda, jakby błąd był po stronie HTML'a, bo przeglądarka nie załącza pliku, tylko informację, że ten plik jest :/ Wygląda to tak:
POST *cvs*tmpfileinterpreter*php HTTP*1*1**Host* localhost*8080**User-Agent* Mozilla*5*0 *Windows* U* Windows NT 5*1* en-US* rv*1*7*3* Gecko*20040910**Accept* text*xml*application*xml*application*xhtml*xml*text*html*q=0*9*text*plain*q=0*8*image*png*****q=0*5**Accept-Language* en-us*en*q=0*5**Accept-Encoding* gzip*deflate**Accept-Charset* ISO-8859-1*utf-8*q=0*7***q=0*7**Keep-Alive* 300**Connection* keep-alive**Referer* http***localhost*cvs*tmpform*htm**Cookie* kucyk-89*email=adam*pilorz%40wp*pl* kucyk-89*www=http%3A%2F%2Fsmok%2F* kucyk-89*nickname=Adam**Content-Type* application*x-www-form-urlencoded**Content-Length* 56****tmptextarea=Test&MAX*FILE*SIZE=102400&pliczek=imiona*txt
Gdzie gwiazdkami zaznaczone są wszelkie znaczki nie należące do: Literek, cyferek albo któregoś z poniższych:
-= !@#$%^&

0

a dałej enctype w <form> ??

<form method="post" enctype="multipart/form-data">

BTW Jakim programem odczytałeś co wysłało ?

0

sprawdź czy z $HTTP_POST_FILES zamiast $_FILES jest tak samo. I mam wrażenie, że zamiast ['tmp_name'] być może powinno być [tmp_name] choć to nie powinno być różnicy.. Ale tak bylo w skrypcie piechnata.

http://4programmers.net/faq.php/id=373

0

sprawdź czy z $HTTP_POST_FILES zamiast $_FILES jest tak samo. I mam wrażenie, że zamiast ['tmp_name'] być może powinno być [tmp_name] choć to nie powinno być różnicy.. Ale tak bylo w skrypcie piechnata.

http://4programmers.net/faq.php/id=373

Faq czytałem, nie działa tak jak tam było.
Jak chodzi o [tmp_name] to wali warning, że nie ma stałej tmp_name, żeby zastosować zamiast tego 'tmp_name'.

0

mi tak jak dałeś nie chce działać, działa dopiero po:
a) dodaniu enctype="multipart/form-data"
b) zamianie folderu do którego ma się wgrać z "./" na "c:/www/test/" czyli chyba trza podać pełny folder (może tak na winie jest czy cuś)

BTW Sprawdź co zawiera zmienna "$_FILES['pliczek']['error']" jeśli jest to 0 to powinno być oki

0

O.K, dzięki, pomogło :]. No i musiałem jeszcze jedną rzecz poprawić, tam gdzie jest nazwa, to zamiast tmp_name trzeba dać name, żeby na serwerze uzyskało to poprzednią nazwę. Jeszcze raz dzięki :].

1 użytkowników online, w tym zalogowanych: 0, gości: 1