[php] problem z zapisywaniem uploadowanych plikow

0

witam mam takie pytanie - otoz posiadam skrypt uploadujacy pliki na serwer (testuje na home.pl) skrypt wyglada w ten sposob:

...

<form enctype="multipart/form-data" action="upload.php" method="POST">
<input name="file" type="file" />
<input type="submit" value="send" />
</form>

<?php
$file_tmp = $_FILES['file']['tmp_name'];
$file_name = $_FILES['file']['name'];


if(is_uploaded_file($file_tmp))
{
   if( copy($file_tmp, "$file_name")) {
        echo '<p>Zaladowano plik<p>';
   }

}

jak widac powinien wrzucac piki do katalogu gdzie znajduje sie skrypt. A oto dziwna sytuacja:

gdy skrypt znajduje sie w katalogu /upload (chmod 777) wszystko jest ok

natomiast gdy wrzuce go do jakiegos podkatalogu np. /kat/test/upload, gdzie wszystkie katalogi w sciezce maja chmod 777, plik sie nie uploaduje. Dane sa wysylane ale nie zapisywane a formularz po przeladowaniu wyswietla mi puste okienko z opcja dodania pliku, na serwerze nie pojawia sie nic. Dodatkowo i w katalogu glownym i w katalogu /kat/test znajduja sie katalogi 'tmp' z chmod 777.
Skrypt jest identyczny i ma identyczne prawa (w desperacji ustawilem juz 777)

Ktos moze spotkal sie z taka sytuacja? prosze o pomoc bo google tym razem nie zna odpowiedzi;/

0

Co to w ogóle za copy? Ja nie wiem z kąd tak idiotyczne rozwiązanie :P

if(is_uploaded_file($file_tmp))
{
   if( copy($file_tmp, "$file_name")) {
        echo '<p>Zaladowano plik<p>';
   }

}

zmienić na:

if (move_uploaded_file($file_tmp, $file_name)) {
   echo('<p>Plik został wgrany pomyślnie!</p>');
} else {
   echo('<p>Wystąpił błąd podczas wgrywania pliku!</p>');
}

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