Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Upload plików na serwer na localhoscie
Forum PHP.pl > Forum > Przedszkole
grzegosh
Witam. Mam problem, przeszukałem google, ten portal ale nie znalazłem rozwiązania błędu w uploadzie.
Używam vertigo serv, kiedy całą stronę, wraz z uploadowaniem pliku wrzuciłem na server nazwa.pl to działało. Na localhoscie używając vertigo nie działa...

Błąd wyglada następująco:

Warning: move_uploaded_file(C:\Program Files\VertrigoServ\www azwa_dziala\images\avatars\gk.jpg) [function.move-uploaded-file]: failed to open stream: Invalid argument in C:\Program Files\VertrigoServ\www\nazwa_dziala\moduly\show_user.php on line 15

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Documents and Settings\Grzesiek\Ustawienia lokalne\temp\php9B4.tmp' to 'C:\Program Files\VertrigoServ\www azwa_dziala\images\avatars\gk.jpg' in C:\Program Files\VertrigoServ\www\nazwa_dziala\moduly\show_user.php on line 15
Plik: gk.jpg o rozmiarze 11239 bajtów został przesłany na serwer!

Kod po otrzymaniu pliku z formularza:
  1. <?php
  2. $plik_tmp = $_FILES['plik']['tmp_name'];
  3.            $plik_nazwa = $_FILES['plik']['name'];
  4.            $plik_rozmiar = $_FILES['plik']['size'];
  5.  
  6.            if(is_uploaded_file($plik_tmp))
  7.            {
  8.                move_uploaded_file($plik_tmp, "C:Program FilesVertrigoServwww\nazwa_dzialaimagesavatars$plik_nazwa");
  9.                echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  10.                <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  11.            }
  12. ?>
guilty82
no w ten sposób raczej nie zadziała.. daj cos w tym stylu
  1. <?php
  2. move_uploaded_file($plik_tmp, "./images/avatars/".$plik_nazwa);
  3. ?>
grzegosh
Dzięki działa smile.gif
Mam jeszcze jedno pytanie, jak zrobic, by plik wysłany na serwer np obrazek.jpg miał po wgraniu na serwer nazwe $zmienna tzn, by przyjmował nazwę ze zmiennej, ale zeby przy tym zachował swoje rozszerzenie. Może przykład zademonstruje bo pewnie pisze nie jasno smile.gif
wgrywam plik o nazwie obrazek.gif na serwer, zapisuje się on jako nazwa użytkownika pobrana ze zmiennej z sesji z odpowiednim rozszerzeniem, czyli np Grzesiek.gif

Dziękuje jeszcze raz.

Ok, udało mi się to zrobić samemu, choć nie wydaje mi się by był to najlepszy sposób, bo jeżeli ktoś poda jako plik np grafika.obrazek.jpg to wywali bład... no ale swoje zadanie spełnia smile.gif Oto rozwiązanie:
  1. <?php
  2. $plik_tmp = $_FILES['plik']['tmp_name'];
  3.                $plik_nazwa = $_FILES['plik']['name'];
  4.                $plik_rozmiar = $_FILES['plik']['size'];
  5.                if(is_uploaded_file($plik_tmp))
  6.                {
  7.                    if($plik_rozmiar<=$_POST[MAX_FILE_SIZE])
  8.                    {
  9.                        $sp = explode(".",$plik_nazwa);
  10.                        // sprawdzamy rozszerzenie
  11.                        if($sp[1] == "gif" or $sp[1] == "jpg" or $sp[1] == "png")
  12.                        {
  13.                            $avatar_nazwa=$_SESSION[login].$_SESSION[id].".".$sp[1];
  14.                            move_uploaded_file($plik_tmp, "./images/avatars/".$avatar_nazwa);
  15.                            echo "<p class='srodkuj'><b>Plik: <strong>$plik_nazwa</strong> o rozmiarze
  16.                            <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!</b></p>";
  17.                            $zapytanie="UPDATE users SET avatar = 'images/avatars/".$avatar_nazwa."' WHERE user_id = '".$_GET[id]."'";
  18.                            $wykonaj=mysql_query($zapytanie);            
  19.                        }
  20.                        else
  21.                        {
  22.                            echo "<p class='srodkuj'><b>Niepoprawny format pliku!</b></p>";
  23.                        }
  24.                    }
  25.                    else
  26.                    {
  27.                        echo "<p class='srodkuj'><b>Rozmiar pliku jest za duży!</b></p>";
  28.                    }
  29.                
  30.                }
  31.                else
  32.                {
  33.                    echo "<p class='srodkuj'><b>Nie udało się wgrać pliku!</b></p>";
  34.                }
  35. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.