Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Upload plików na serwer na localhoscie
grzegosh
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 3
Dołączył: 26.06.2008

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
guilty82
post
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 31
Dołączył: 26.03.2007

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
grzegosh
post
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 3
Dołączył: 26.06.2008

Ostrzeżenie: (0%)
-----


Dzięki działa (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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. ?>


Ten post edytował grzegosh 4.06.2009, 00:01:54
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 04:00